我刚开始使用蓝鸟,它真的很棒!但我想知道我是否可以做以下情况:
我有一系列的承诺,如果一切都好,他们会返回解决方案(对象)。但是我必须检查我的物品是否有一些属性以确保一切都很好,而且我必须在致电我的承诺后这样做。
我还需要知道每次通话的时间。我已经考虑过每次调用each()时都会增加的int,当我的int到达promisesArray.length - 1时,它就完成了,但是我已经看到Bluebird作为一种方法被调用了一切都完成后调用的all()。
可以将它们混合吗?就像在我的数组上做一个.each()来检查一切返回对象是否有该属性,然后做一个.all()来知道一切顺利吗?
答案 0 :(得分:1)
您可以使用Promise.all
获取所有承诺,然后如果所有承诺都包含您成功所需的财产,则返回Promise.resolve()
或Promise.reject()
:
Promise.all(promisesArray).then(function(results) {
results.forEach(function(result) {
// make the needed check for each result - for example: object.should.have.property('property')
});
});