Bluebird承诺库的结果作为错误返回
Results from Bluebird promisified library is returned as an error
我目前正在使用Bluebird和fb npm包。
我已经设法让fb库返回数据。但是,数据被捕获为错误,而不是传递给then()
方法。
var Promise = require('bluebird'),
fb = Promise.promisifyAll(require('fb'));
fb.apiAsync(endPoint, options)
.then(function(response) {
console.log(response); // This doesn't get called
}, function(e) {
console.log(e); // The facebook response gets returns as part of the error instead
});
我用错误的方式使用承诺吗?到目前为止,我一直尝试遵循Bluebird页面上的文档。
bluebird中的promisify
函数,默认情况下,期望回调API为:
- 承诺函数的最后一个参数为回调函数
- 回调函数的第一个参数是错误值
- 回调函数的第二个参数是结果值
fb
包,我们可以看到回调使用的形式是:
function (res) { ...}
其中回调函数的第一个参数是结果,并且似乎没有错误值的参数。这意味着这个API违反了规则#2和#3。幸运的是,bluebird允许用户编写自定义承诺函数,详细信息请参阅bluebird API。
相关文章:
- CKFinder 3为所选文件返回错误的URL
- 从我的控制器返回一个不同于200的代码以触发ajax错误,这被认为是一种好的做法吗
- AngularJS错误:提供程序必须从$get工厂方法返回值
- 用于查询错误转换的角度资源返回列表
- 如何解决“;错误所请求的URL返回500-内部服务器错误”;
- WebView返回错误的window.innerHeight
- Javascript表单验证:表单在错误返回时提交:
- 谷歌地图上的常量错误返回maxZoomService.getMaxZoomAtLatLng()
- Jquery .ajax POST 函数错误返回 asp.net MVC.
- happy 不会从 Boom 错误返回数据属性
- 操作结果在 ajax 调用中作为错误返回
- 我得到了错误“返回绑定”.PBKDF2(密码、盐、迭代、keylen、回调);^ TypeError: Not a bu
- 节点解析错误:返回时意外的令牌
- Bluebird承诺库的结果作为错误返回
- Jquery, php ajax post 500内部服务器错误返回
- 未定义的索引问题和错误返回
- 未从json文件中导入数据:Unhandled rejection错误返回
- Jquery错误返回bool值
- 表单提交后重新加载页面,尽管没有验证和错误返回
- 使用POST方法的AJAX函数会创建以下错误.错误:返回状态码414请求uri太大