Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Bluebird promisified库的结果作为错误返回_Javascript_Node.js_Facebook Javascript Sdk_Bluebird - Fatal编程技术网

Javascript Bluebird promisified库的结果作为错误返回

Javascript Bluebird promisified库的结果作为错误返回,javascript,node.js,facebook-javascript-sdk,bluebird,Javascript,Node.js,Facebook Javascript Sdk,Bluebird,我目前正在使用蓝鸟与fb npm包 我已经设法让fb库返回数据。但是,数据被捕获为错误,而不是传递给then()方法 var Promise=require('bluebird'), fb=承诺、承诺(要求(‘fb’); apiAsync(端点,选项) .然后(功能(响应){ console.log(response);//这不会被调用 },功能(e){ console.log(e);//facebook响应作为错误的一部分获得返回 });默认情况下,bluebird中的promisify函数

我目前正在使用蓝鸟与fb npm包

我已经设法让fb库返回数据。但是,数据被捕获为错误,而不是传递给
then()
方法

var Promise=require('bluebird'),
fb=承诺、承诺(要求(‘fb’);
apiAsync(端点,选项)
.然后(功能(响应){
console.log(response);//这不会被调用
},功能(e){
console.log(e);//facebook响应作为错误的一部分获得返回

});默认情况下,bluebird中的
promisify
函数期望回调API为:

  • 要说明的函数的最后一个参数是回调函数
  • 回调函数的第一个参数是错误值
  • 回调函数的第二个参数是结果值
  • 查看npm上的
    fb
    包,我们可以看到回调使用以下形式:

    函数(res){…}


    其中回调函数的第一个参数是结果,并且似乎没有错误值的参数。这意味着该API违反了规则2和规则3。幸运的是,bluebird允许用户编写自定义promisifier函数,有关详细信息,请参阅。

    谢谢,我将介绍如何创建自定义promisifier。链接已过时。对于GitHub链接,您通常应该使用永久链接(例如,提交链接):)(查看页面时按
    y
    可以获得该链接)。