繁体   English   中英

在 forEach 循环中跟踪 Promise

[英]Keeping track of promises in forEach loop

假设我有一个使用 forEach 循环迭代的数组。 对于每个元素,我正在运行 Firestore set() function。

一旦所有的承诺都实现了,我想得到一个回调。

有没有比将所有承诺推送到数组然后使用Promise.all()更好的方法?

var promArr = [];

arr.forEach(elem => {
   promArr.push(db.collection('col').doc(elem).set({
     key: 'value'
   }))
})

Promise.all(promArr).then(_ => {
   console.log('All promises fulfilled.')
})

您可以使用map保存一行:

const promArr = arr.map(elem => {
   return db.collection('col').doc(elem).set({
     key: 'value'
   });
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM