【发布时间】:2016-09-17 09:46:03
【问题描述】:
我正在尝试使用承诺 (Q) 重写我的一个项目的代码。 我不知道如何在 foreach 循环中获取一系列承诺的结果:
var resProducts = [];
products.forEach(currProduct) {
Stock.saveNewStock(currProduct)
.then(function(res1) {
Product.saveNewProduct(currProduct)
.then(function(res2) {
resProducts.push(res2);
Product.addStockToProduct(res1,res2)
})
})
.catch(function(err) {
console.log(err)
})
});
console.log(resProducts);
我看到每次日志都标记一个空数组,那么我该如何解决呢?
【问题讨论】:
-
附带说明:javascript 是同步的,打印数组值的函数调用位于异步块之外,这使得它几乎立即运行。可能值得反思! :)
标签: javascript node.js promise