promise串行和並行執行(async、await)



function
a(i) { return new Promise((resolve, reject) => { setTimeout(() => { console.log(i); resolve() }, 5000 - 1000 * i) }) } async function b() { console.log(1); for (let i = 0; i < 4; i++) { await a(i + 1) } console.log(5); } b()

通過async和await來使多個promise來實現串行執行

Promise.all(promisearr).then(res=>{
        //所有promise執行完后的執行代碼
    })

Promise.all()方法是並行處理的,當所有的promise執行完成后執行

async是一個函數的修飾符,加上async關鍵詞的函數會隱式地返回一個Promise,函數的返回值將作為Promise resolve的值。await后面跟的一定是一個Promise,await只能出現在async函數內,await的語義是:必須等到await后面跟的Promise有了返回值,才能繼續執行await的下一行代碼


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM