【发布时间】:2018-02-10 12:09:31
【问题描述】:
我知道这是 stackoverflow 上的热门话题,但我在使用 promise 函数填充外部对象时遇到了问题。
所以基本上我想做什么:
- 通过 promise 获取我想要迭代的对象数组
- 使用 map 函数迭代这个数组。每次迭代都调用一个 Promise
- 在第二个承诺解决后,我想将一个 Id 和承诺的结果推送到一个数组中
我当然不能使用全局对象,因为承诺不在正确的范围内。我也尝试过 Bluebird Promise.map 函数,但这样我无法推送到对象,而不仅仅是第二个 promise 结果。
到目前为止,这是我的代码。 PromiseTwo 应该填充一个对象,我想在 res.json 函数中显示它(这是一个 Express/NodeJS 应用程序)
let promise = actie.groupActies()
let akties = {}
promise.then(function(aktieMaanden) {
let values = aktieMaanden.forEach((aktie) => {
let aktieId = aktie['_id']
let artikelen = aktie['artikelen']
let promiseTwo = order.getActieArtikelenOmzet(artikelen)
promiseTwo.then(function(orders) {
akties[aktieId] = orders
return akties
})
})
return akties
}).then((akties) => {
res.json({ message: "Omzet voor aktie", akties: akties })
})
【问题讨论】:
标签: javascript promise bluebird