js學習之-------async 和 await


1、含義:

(1)async 用於申明一個 function 是異步的,async 函數返回一個 Promise 對象,可以使用 then 方法添加回調函數

(2)await 用於等待一個異步方法執行結果,當函數執行的時候,一旦遇到 await 就會先返回,等到觸發的異步操作完成,再接着執行函數體內后面的語句!

注:語法規定,await 只能出現在 async 函數中

不過要注意:

如果await等到的不是一個 Promise 對象,那 await 不會阻塞后面的代碼執行

如果await等到的是一個 Promise 對象,await 才會阻塞后面的代碼,等着 Promise 對象 resolve,然后得到 resolve 的值,作為 await 表達式的運算結果:

2、對比:

假設:有3個步驟,每個步驟都是異步,而且每一個步驟都需要之前步驟的結果

(1)promise的寫法:

(2)async/await的寫法:

 

注:不管是promise,還是async/await,只是寫法不同,為了方便而已,沒有別的特殊用途!

意義:Promise 通過 then 鏈來解決多層回調的問題,但是參數傳遞太麻煩,async/await 可以進一步優化它!


免責聲明!

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



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