function muti(num){ return new Promise(resolve=>{ setTimeout(()=>{ resolve(num * num) },1000) }) } const nums = [1,2,3] //同步 nums.forEach(async (i) => { const res = await muti(i) console.log(res)//一分鐘後一次打印出 1,4,9 }) //異步 !(async function(){ for(let i of nums){ const res = await muti(i) console.log(res)//一個一個執行,第一個執行以後再執行第二個,一分鐘後打印1,而後再一分鐘後打印4 } })()