【发布时间】:2017-08-20 20:00:24
【问题描述】:
我正在为一些键/值对使用 Map
let myMap = new Map()
myMap.set('foo', 'bar')
myMap.set('foo2', 'bar42')
对于每个 Map 条目,我执行一个返回 Promise 的函数。所有这些 Promise 都可以使用 Promise.all 并行执行。
这就是我现在的做法:
let mapPromises = []
myMap.forEach((value, key) => {
mapPromises.push(MyModel.forge({key, language, value}).save())
})
await Promise.all(mapPromises)
除了将所有函数调用推入一个数组然后触发Promise.all之外,还有另一种(更短?更快?)的方法来实现这一点?
【问题讨论】:
-
Is there a smarter way- 比什么更聪明?你还没有展示你是如何做到的 -
"对于每个 Map 条目,我执行一个函数" - 你不是已经在使用迭代器了吗?
-
我稍微改写了原始问题。感谢您指出它的缺陷。
标签: javascript ecmascript-6 promise async-await