我正在学习async / await并创建了一个小小提琴@ https://jsfiddle.net/mpycio/rb8taLt7/。
const parse = async (num) => {
let res = await new Promise(resolve =>
setTimeout(() => {resolve(num * 2)}, 0)
)
return res
}
[1,2,3,4].forEach(async (num) => {
log(`parsing: ${num}`);
const res = await parse(num);
log(`parsing result: ${res}`);
})
我错过了一些东西,因为我认为记录的结果是:
解析:1
解析结果:2
解析:2
解析结果:4 ...
所以我的问题是如何正确编写forEach循环以保证在循环内解析promise的结果?
Edit1:所以这已经得到了回答,解决方案确实 for 循环:https://jsfiddle.net/mpycio/rb8taLt7/4/