好久好久没有写js了。。。。,
有时候看见这样的代码
let ret = [];
[xxx].forEach(async (item) => {
let res = await xxxx
ret.push[res]
});
//处理ret
这样是不对的,forEach底层实现没有await每个回调,所以上面代码其实ret是空的。
应该这样写
let tasks = [xxx].map((item) => {
return Promise
});
let ret = await Promise.all(tasks)
//处理ret
当然改成普通的for循环也行,并发度就将为1了。