【发布时间】:2021-11-19 20:54:42
【问题描述】:
我正在尝试总结从一系列异步调用中得到的结果
let sum = 0;
for(const id of ids) {
const res = await getRes(id);
sum += res;
}
这是一种有效的方法吗?有更好的解决方案吗?
【问题讨论】:
-
当然可以,除非您可以同时拨打所有电话到
getRes,在这种情况下,您可以Promise.all他们然后总结它们。 -
const sum = await Promise.all(ids.map(id =>getRes(id))).then(nums=>nums.reduce((a,b)=>a+b));