试图理解JS async / await

时间:2017-09-15 09:43:37

标签: javascript ecmascript-2017

我正在学习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/

0 个答案:

没有答案