千鋒教育JavaScript全套視頻教程(10天學會Js,前端javascrip

P149 筆記
async await
ES7提出的解決回調地獄的方法。
執(zhí)行的是異步
語法:
在需要使用異步編程的函數(shù)前加async,async修飾的是跟在后面的函數(shù),函數(shù)內部會被影響,外部不會。
await在這個函數(shù)內使用,await后面僅可以跟Promise對象 。async,await最終也是基于Promis封裝的
使用await在函數(shù)外面必須有async,兩者成對出現(xiàn)
如果想從async,await結構中拿到返回結果,必須.then(),.catch()進行成功捕獲和錯誤捕獲
面試題:在async中怎么捕獲錯誤
使用try{
}catch(err){
}
不影響代碼的正常運行
總結:如果函數(shù)不對外界輸出,直接布局頁面,鏈式調用第一個await執(zhí)行完執(zhí)行第二個以此類推,
如果對外界輸出,只能在外面使用.then()接收成功結果,.catch()接收失敗結果
await后面可以接同步代碼和Promise對象,但是接同步對象沒有意義(因為同步不寫async和await也是一樣的結果),所以后面只跟Promise對象
標簽: