我需要帮助调试此代码/或学习有效的方法 - 我尝试使用 bluebird.each 来捕获我的 forEach 中的所有执行,但没有得到它的工作。与使用纯 JavaScript 设置新承诺相同。我需要帮助如何执行我的 forEach FIRST 并继续前进。
let arr = [];
let fields = ['environment', 'habitat', 'earth]
Promise.each(fields, field => {
nano.db.use(field).view('options', 'options')
.spread((body, header) => {
arr.push(body.rows);
})
}).then(() => console.log(arr))
预期结果:
arr to console.log ====> [1,2,3,4,5]
实际结果:
arr is an empty array ====> [ ]
我认为这是异步性的问题,但我似乎无法弄清楚如何真正做到这一点。任何输入或资源将不胜感激!