摘要:耦合度過高,可維護(hù)性差。只能在回調(diào)里處理異常。的使用構(gòu)造函數(shù)是一個(gè)構(gòu)造函數(shù),使用操作符返回一個(gè)對(duì)象構(gòu)造函數(shù)接收一個(gè)函數(shù)作為參數(shù)函數(shù)有兩個(gè)函數(shù)類型的參數(shù)和
異步解決方案良藥Promise promise
目前比較流行的異步解決方案,本質(zhì)上是一個(gè)構(gòu)造函數(shù)
1、狀態(tài)promise有三種狀態(tài),初始的狀態(tài)都是pedding,包括成功的狀態(tài)失敗的狀態(tài)還有等待的狀態(tài)
promise.all()所有的promise對(duì)象成功才會(huì)觸發(fā)成功的狀態(tài),否則失敗狀態(tài)
promise.race()任意一個(gè)子promise的狀態(tài)觸發(fā)后
2、出現(xiàn)的原因我們來通過一個(gè)例子來說明一下異步調(diào)用的問題
let url1 = "http://xxx.xxx.1"; $.ajax({ url:url1, error:function (error) {}, success:function (data1) { console.log(data1); } });
那當(dāng)我們發(fā)出多個(gè)請(qǐng)求的時(shí)候就只能以嵌套的方式來解決
let url1 = "http://xxx.xxx.1"; let url2 = "http://xxx.xxx.2"; let url3 = "http://xxx.xxx.3"; $.ajax({ url:url1, error:function (error) {}, success:function (data1) { console.log(data1); $.ajax({ url:url2, data:data1, error:function (error) {}, success:function (data2) { console.log(data2); $.ajax({ url:url3, data, error:function (error) {}, success:function (data3) { console.log(data3); } }); } }); } });3、主要的問題
代碼臃腫。
可讀性差。
耦合度過高,可維護(hù)性差。
代碼復(fù)用性差。
容易滋生 bug。
只能在回調(diào)里處理異常。
4 、Promise 的使用 構(gòu)造函數(shù)Promise 是一個(gè)構(gòu)造函數(shù),使用 new 操作符返回一個(gè) promise 對(duì)象
構(gòu)造函數(shù)接收一個(gè) excutor 函數(shù)作為參數(shù)
excutor 函數(shù)有兩個(gè)函數(shù)類型的參數(shù) resolve 和 reject
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/105331.html
摘要:的翻譯文檔由的維護(hù)很多人說,阮老師已經(jīng)有一本關(guān)于的書了入門,覺得看看這本書就足夠了。前端的異步解決方案之和異步編程模式在前端開發(fā)過程中,顯得越來越重要。為了讓編程更美好,我們就需要引入來降低異步編程的復(fù)雜性。 JavaScript Promise 迷你書(中文版) 超詳細(xì)介紹promise的gitbook,看完再不會(huì)promise...... 本書的目的是以目前還在制定中的ECMASc...
摘要:從最開始的到封裝后的都在試圖解決異步編程過程中的問題。為了讓編程更美好,我們就需要引入來降低異步編程的復(fù)雜性。寫一個(gè)符合規(guī)范并可配合使用的寫一個(gè)符合規(guī)范并可配合使用的理解的工作原理采用回調(diào)函數(shù)來處理異步編程。 JavaScript怎么使用循環(huán)代替(異步)遞歸 問題描述 在開發(fā)過程中,遇到一個(gè)需求:在系統(tǒng)初始化時(shí)通過http獲取一個(gè)第三方服務(wù)器端的列表,第三方服務(wù)器提供了一個(gè)接口,可通過...
摘要:簽訂協(xié)議的兩方分別是異步接口和。在異步函數(shù)中,使用異常捕獲的方案,代替了的異常捕獲的方案。需要注意的是,在異步函數(shù)中使異步函數(shù)用時(shí)要使用,不然異步函會(huì)被同步執(zhí)行。 同步與異步 通常,代碼是由上往下依次執(zhí)行的。如果有多個(gè)任務(wù),就必需排隊(duì),前一個(gè)任務(wù)完成,后一個(gè)任務(wù)才會(huì)執(zhí)行。這種執(zhí)行模式稱之為: 同步(synchronous) 。新手容易把計(jì)算機(jī)用語(yǔ)中的同步,和日常用語(yǔ)中的同步弄混淆。如,...
摘要:前言異步編程模式在前端開發(fā)過程中,顯得越來越重要。隨著新標(biāo)準(zhǔn)的到來,處理異步數(shù)據(jù)流又有了新的方案。接下來我們介紹這兩種處理異步編程的方案。仍在繼續(xù)執(zhí)行,但執(zhí)行結(jié)果將被丟棄。使得異步代碼看起來像同步代碼,再也沒有回調(diào)函數(shù)。 前言 異步編程模式在前端開發(fā)過程中,顯得越來越重要。從最開始的XHR到封裝后的Ajax都在試圖解決異步編程過程中的問題。隨著ES6新標(biāo)準(zhǔn)的到來,處理異步數(shù)據(jù)流又有了新...
摘要:前言異步編程模式在前端開發(fā)過程中,顯得越來越重要。隨著新標(biāo)準(zhǔn)的到來,處理異步數(shù)據(jù)流又有了新的方案。接下來我們介紹這兩種處理異步編程的方案。仍在繼續(xù)執(zhí)行,但執(zhí)行結(jié)果將被丟棄。使得異步代碼看起來像同步代碼,再也沒有回調(diào)函數(shù)。 前言 異步編程模式在前端開發(fā)過程中,顯得越來越重要。從最開始的XHR到封裝后的Ajax都在試圖解決異步編程過程中的問題。隨著ES6新標(biāo)準(zhǔn)的到來,處理異步數(shù)據(jù)流又有了新...
閱讀 1600·2021-09-02 15:41
閱讀 1003·2021-09-02 15:11
閱讀 1287·2021-07-28 00:15
閱讀 2313·2019-08-30 15:55
閱讀 1149·2019-08-30 15:54
閱讀 1697·2019-08-30 15:54
閱讀 2981·2019-08-30 14:02
閱讀 2530·2019-08-29 16:57