<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        JS中async/await實現異步調用的方法

        來源:懂視網 責編:小采 時間:2020-11-27 21:51:37
        文檔

        JS中async/await實現異步調用的方法

        JS中async/await實現異步調用的方法:async/await多個函數關聯調用 async/await使得異步代碼看起來像同步代碼 async函數會隱式地返回一個promise,而promise的reosolve值就是函數return的值 Async/Await不需要寫.then,不需要寫匿名函數處理Promise的resolve值,也不需要定義多余
        推薦度:
        導讀JS中async/await實現異步調用的方法:async/await多個函數關聯調用 async/await使得異步代碼看起來像同步代碼 async函數會隱式地返回一個promise,而promise的reosolve值就是函數return的值 Async/Await不需要寫.then,不需要寫匿名函數處理Promise的resolve值,也不需要定義多余

        async/await多個函數關聯調用

        async/await使得異步代碼看起來像同步代碼

        async函數會隱式地返回一個promise,而promise的reosolve值就是函數return的值

        Async/Await不需要寫.then,不需要寫匿名函數處理Promise的resolve值,也不需要定義多余的data變量,還避免了嵌套代碼

        async聲明一個異步函數

        await只能在async函數中使用,后面跟一個promise對象

        所以在模擬異步調用函數時,函數體內返回promise

        async/await缺點

        async函數里,無論是Promise reject的數據還是邏輯報錯,都會被默默吞掉。所以最好把await放入try{}catch{}中,或者在async返回的promise對象中使用.cache捕獲錯誤。

        實現

        項目中實現三個不同的接口調用,三個接口是相互關聯的,前一個接口的返回值是后一個接口的參數,如果使用Promise實現的話,只能實現異步調用,但是無法相互關聯,也就是數據不互通,所以使用async/await實現

      1. 接口調用的方法獨立封裝,參數可動態設置
      2. async聲明異步方法,內部使用await關鍵字調用封裝的接口,參數可直接傳入
      3. async/await相當于將Promise異步調用同步化,數據可實現關聯
      4. async/await會默認返回一個Promise對象,在實際調用中使用cache捕獲錯誤
      5. 代碼實現

        <script>
         //再此使用定時器模擬異步接口的調用
         // 異步函數a
         function a() {
         return new Promise(resolve => {
         setTimeout(()=>{
         resolve('a')
         }, 1000)
         })
         }
         // 異步函數b,關聯a參數
         function b(a) {
         return new Promise(resolve => {
         setTimeout(()=>{
         resolve(a+'b')
         }, 1000)
         })
         }
         // 異步函數c,關聯b參數
         function c(b) {
         return new Promise(resolve => {
         setTimeout(()=>{
         resolve(b+'c')
         }, 1000)
         })
         }
        
         // 同步執行三個關聯的異步函數
         async function d(){
         const da = await a();
         const db = await b(da);
         const dc = await c(db);
         return dc;
         }
        
         // 實際調用
         d().then(res=>{
         console.log(res)
         }).catch(err=>{
         console.log(err)
         });
        </script>

        總結

        以上所述是小編給大家介紹的JS中async/await實現異步調用的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!
        如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        JS中async/await實現異步調用的方法

        JS中async/await實現異步調用的方法:async/await多個函數關聯調用 async/await使得異步代碼看起來像同步代碼 async函數會隱式地返回一個promise,而promise的reosolve值就是函數return的值 Async/Await不需要寫.then,不需要寫匿名函數處理Promise的resolve值,也不需要定義多余
        推薦度:
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 亚洲人成网站观看在线播放| 久久免费看黄a级毛片| 午夜电影免费观看| 亚洲成人在线免费观看| 4虎1515hh永久免费| 亚洲欧洲精品一区二区三区| 日韩精品无码专区免费播放| 国产A在亚洲线播放| 99在线视频免费观看| 亚洲av无码一区二区乱子伦as| 久久国产精品成人免费| 久久久婷婷五月亚洲97号色| 成人免费黄色网址| 亚洲一级特黄特黄的大片| 日韩免费高清视频| 日韩毛片在线免费观看| 亚洲精品无码成人片在线观看 | 亚洲日韩精品射精日| eeuss影院www天堂免费| 亚洲国产精品无码中文字| 91成人在线免费观看| 亚洲娇小性xxxx色| 一本久久综合亚洲鲁鲁五月天| 一级毛片免费不卡| 亚洲国产一区二区三区青草影视| 1000部拍拍拍18勿入免费视频下载| 亚洲人色大成年网站在线观看| 成人免费毛片视频| 国产精品免费在线播放| 久久久国产精品亚洲一区| 妞干网免费视频在线观看| 亚洲免费一区二区| 亚洲精品无码久久毛片波多野吉衣| 毛片A级毛片免费播放| 国产精品内射视频免费| 亚洲经典在线中文字幕| 国产一区二区三区免费视频| 七色永久性tv网站免费看| 亚洲码欧美码一区二区三区| 中文字幕亚洲乱码熟女一区二区| 最近2022中文字幕免费视频|