Q与Q.all未经处理的拒绝原因
Q unhandled rejection reasons with Q.all
我收到下面代码的警告,我不明白为什么。
类似于这个问题:未处理的拒绝原因(应为空)
但是。。。
我很确定我正在处理所有的错误,那么为什么要发出警告呢?
以下是JSFiddle:http://jsfiddle.net/yoorek/jLLbR/
function run(number) {
var deferred = Q.defer();
if (number % 2) {
deferred.reject(new Error('Error for ' + number));
} else {
deferred.resolve(number);
}
return deferred.promise;
}
var promises = [], data = [1, 2, 3, 4, 5];
data.forEach(function (item) {
var promise;
promise = run(item)
.then(function (result) {
log.info('Success : ' + result);
})
.catch (function (error) {
log.info('Error Handler in loop ' + error.message);
});
promises.push(promise);
});
Q.all(promises)
.then(function () {
log.info('All Success');
})
.catch (function (error) {
log.info('Error handler for All ' + error.message);
});
这是Q如何处理未经处理的拒绝的一个错误。它没有很好地检测到未处理的拒绝,因此该功能被删除。
从1.0.0更新您的Q版本,或者使用能够正确跟踪错误的Bluebird。
这是一个更新的fiddle
相关文章:
- 在流星上使用微信js-sdk时出现拒绝权限错误
- Nested Q.all nodejs
- Bootstrap Dropdown selection是在*all*下拉菜单上设置选择
- 在Nodejs中Express输入DEBUG=app时权限被拒绝/bin
- 简单的ES6承诺问题-交换解决和拒绝参数
- javascript第三个XMLHttpRequest被拒绝.但前两个是允许的
- 当一些承诺失败时,如何继续使用$q.all()
- 在ES6 Promise中,我应该在解决/拒绝之前使用return吗
- Facebook FB.init”;访问被拒绝”;在Internet Explorer 11中
- 未处理的拒绝MongoError:无法连接到MongoDB中的服务器
- Node.js solrProxy访问被拒绝
- 使用jquery创建dom元素会导致ie9出现拒绝访问错误
- CKeditor预览插件.js,为Chrome和IE进行编辑.因为它拒绝CSS样式
- 是否可以使用“;document.all”;在IE11中,而不改变每次使用
- 在$q服务中捕获拒绝而不触发成功回调
- 当cujojs中的.all()2.2.1没有'如果延期拒绝,则不拒绝
- 当你想要所有结果而不管是否被拒绝时,用什么代替Promise.all()
- Bluebird Promise.all-多个承诺完成了成功和拒绝的汇总
- 的承诺.all - resolve回调会被触发,尽管Promise被拒绝
- Q与Q.all未经处理的拒绝原因