今天就跟大家聊聊有關怎么在JavaScript中使用async和await實現(xiàn)異步調用,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據(jù)這篇文章可以有所收獲。
新華網(wǎng)站建設公司成都創(chuàng)新互聯(lián)公司,新華網(wǎng)站設計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為新華成百上千提供企業(yè)網(wǎng)站建設服務。企業(yè)網(wǎng)站搭建\外貿(mào)營銷網(wǎng)站建設要多少錢,請找那個售后服務好的新華做網(wǎng)站的公司定做!
async/await多個函數(shù)關聯(lián)調用
async/await使得異步代碼看起來像同步代碼
async函數(shù)會隱式地返回一個promise,而promise的reosolve值就是函數(shù)return的值
Async/Await不需要寫.then,不需要寫匿名函數(shù)處理Promise的resolve值,也不需要定義多余的data變量,還避免了嵌套代碼
async聲明一個異步函數(shù)
await只能在async函數(shù)中使用,后面跟一個promise對象
所以在模擬異步調用函數(shù)時,函數(shù)體內返回promise
async/await缺點
async函數(shù)里,無論是Promise reject的數(shù)據(jù)還是邏輯報錯,都會被默默吞掉。所以最好把await放入try{}catch{}中,或者在async返回的promise對象中使用.cache捕獲錯誤。
實現(xiàn)
項目中實現(xiàn)三個不同的接口調用,三個接口是相互關聯(lián)的,前一個接口的返回值是后一個接口的參數(shù),如果使用Promise實現(xiàn)的話,只能實現(xiàn)異步調用,但是無法相互關聯(lián),也就是數(shù)據(jù)不互通,所以使用async/await實現(xiàn)
接口調用的方法獨立封裝,參數(shù)可動態(tài)設置
async聲明異步方法,內部使用await關鍵字調用封裝的接口,參數(shù)可直接傳入
async/await相當于將Promise異步調用同步化,數(shù)據(jù)可實現(xiàn)關聯(lián)
async/await會默認返回一個Promise對象,在實際調用中使用cache捕獲錯誤
代碼實現(xiàn)
看完上述內容,你們對怎么在JavaScript中使用async和await實現(xiàn)異步調用有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。