摘要:分鐘讀完以前我們使用。把異步變成了同步。允許同時執行所有的異步函數函數總耗時為秒的耗時。的錯誤處理在語法中,我們可以使用進行錯誤處理。在中的分支會進入語句。閱讀原文討論地址分鐘學會的如果你想參與討論,請點擊這里
1 分鐘讀完 JavaScript Async/Await Explained in 10 Minutes
以前我們使用 callback。
后來我們使用 Promise。
現在我們使用 Async/Await。
1、什么是 Async/Await?Async - 定義異步函數(async function someName(){...})
自動把函數轉換為 Promise
當調用異步函數時,函數返回值會被 resolve 處理
異步函數內部可以使用 await
Await - 暫停異步函數的執行 (var result = await someAsyncCall();)
當使用在 Promise 前面時,await 等待 Promise 完成,并返回 Promise 的結果
await 只能和 Promise 一起使用,不能和 callback 一起使用
await 只能用在 async 函數中
2、Async/Await 是否會取代 Promise不會。
Async/Await 底層依然使用了 Promise。
多個異步函數同時執行時,需要借助 Promise.all
async function getABC() { let A = await getValueA(); // getValueA 花費 2 秒 let B = await getValueB(); // getValueA 花費 4 秒 let C = await getValueC(); // getValueA 花費 3 秒 return A*B*C; }
每次遇到 await 關鍵字時,Promise 都會停下在,一直到運行結束,所以總共花費是 2+4+3 = 9 秒。await 把異步變成了同步。
async function getABC() { // Promise.all() 允許同時執行所有的異步函數 let results = await Promise.all([ getValueA, getValueB, getValueC ]); return results.reduce((total,value) => total * value); }
函數總耗時為 4 秒(getValueB 的耗時)。
3、Async/Await 的錯誤處理在 Async/Await 語法中,我們可以使用 try/catch 進行錯誤處理。在 Promise 中的 .catch() 分支會進入 catch 語句。
閱讀原文:JavaScript Async/Await Explained in 10 Minutes
討論地址:10 分鐘學會 JavaScript 的 Async/Await
如果你想參與討論,請點擊這里
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/89438.html
摘要:的翻譯文檔由的維護很多人說,阮老師已經有一本關于的書了入門,覺得看看這本書就足夠了。前端的異步解決方案之和異步編程模式在前端開發過程中,顯得越來越重要。為了讓編程更美好,我們就需要引入來降低異步編程的復雜性。 JavaScript Promise 迷你書(中文版) 超詳細介紹promise的gitbook,看完再不會promise...... 本書的目的是以目前還在制定中的ECMASc...
摘要:異步過程控制了解異步的意義之后,我們來對比目前主流幾種異步過程控制方法,探討一下異步編程的最佳實踐。結語希望本文對大家有點幫助,能更深刻的理解異步編程,能寫出更優雅更高效的代碼。 同步和異步(Synchronous and Asynchronous) 了解javascript的同學想必對同步和異步的概念應該都很熟悉了,如果還有不熟悉的同學,我這里舉個形象的例子,比如我們早上起床后要干三...
摘要:譯者按技巧雖好重在掌握并使用起來原文譯者為了保證可讀性,本文采用意譯而非直譯。從數組中移除重復元素中,有了集合的語法。自從年雙十一正式上線,累計處理了億錯誤事件,得到了金山軟件等眾多知名用戶的認可。 譯者按: 技巧雖好、重在掌握并使用起來! 原文: Learn these neat JavaScript tricks in less than 5 minutes 譯者: Funde...
閱讀 2825·2023-04-25 20:06
閱讀 1446·2021-08-26 14:15
閱讀 2234·2021-08-12 13:27
閱讀 1772·2019-08-30 15:55
閱讀 3469·2019-08-30 13:20
閱讀 2825·2019-08-29 15:12
閱讀 3330·2019-08-29 15:06
閱讀 2858·2019-08-29 14:13