;(async ()=>{ let namePromise = getName() let name = await namePromise let idPromise = getId() // 2000ms之后才生成 Promise 实例 let id = await idPromise alert(`name:${name}, id:${id}`) })()
所以,如果想并行执行,我们应该先生成所有需要使用的Promise实例:
1 2 3 4 5 6 7
;(async ()=>{ let namePromise = getName() let idPromise = getId() // 先生成所有 promise 实例 let name = await namePromise let id = await idPromise alert(`name:${name}, id:${id}`) })()
或者使用Promise.all
1 2 3 4
;(async ()=>{ var result = awaitPromise.all([getName(), getId()]) alert(`name:${result[0]}, id:${result[2]}`) })()