国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > JS > 正文

在JS循環中使用async/await的方法

2024-05-06 16:46:22
字體:
來源:轉載
供稿:網友

async / await是ES7的重要特性之一,也是目前社區里公認的優秀異步解決方案。目前,async / await這個特性已經是stage 3的建議,可以看看TC39的進度,本篇文章將分享在JS循環中使用async/await的方法.

在開發maty.js時,遇到一個數組任務,數組項是內部異步執行的函數,期望是同步依次執行每項函數,每項函數執行完本身的異步任務后,繼續下一項。

剛開始單純使用map來循環執行,并且await每項函數。如下所示:

starters.map(async (fn, i)=> { console.log('++++++++++: ', i) await fn(ctx);});

結果是依次先輸出了索引i,而不是阻塞每次循環,按期望執行。

搬出Google大法,可以看出對在 for…of 循環語法中使用await是有效的。

for (const fn of starters) { await fn(ctx);}

同時文章中指出使用Promise.all,是無法解決當前問題的,因為all方法是并行運行的。很奇怪為什么沒有串行執行的原生方法。

總結

以上所述是小編給大家介紹的在JS循環中使用async/await的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VeVb武林網網站的支持!


注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 公主岭市| 囊谦县| 加查县| 成都市| 吉安市| 大石桥市| 辛集市| 安仁县| 霍州市| 南漳县| 阿克陶县| 瑞安市| 休宁县| 义乌市| 嘉兴市| 贺兰县| 鹤山市| 固镇县| 碌曲县| 贵溪市| 台北县| 吉首市| 永年县| 汝城县| 昭平县| 隆安县| 大冶市| 安国市| 阿图什市| 仁布县| 安康市| 泾阳县| 平南县| 井陉县| 隆昌县| 昌吉市| 石河子市| 赤水市| 鄱阳县| 镇平县| 昌都县|