JS如何實現一個異步隊列來按順序執行函數?


Promise 大法好!

 
var funcs = [func1, func2, func3]; var funcPromise = funcs.map(function(func, i) { return new Promise(function(resolve) { func(); console.log('func'+(i+1)+' well done!'); resolve(); //如果 func 是異步方法的話需要把 resolve 定義到方法的 callback 中 }); }); Promise.all(funcPromise).then(function() { console.log('all well done'); }); 

更爽一點可以直接用 async/await


var funcs = [func1, func2, func3]; (async () => { for(let i=0;i<funcs.length;i++) { await funcs[i](); console.log('func'+(i+1)+' well done'); } console.log('all well done'); })()


免責聲明!

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



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