成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

javascript模擬原生Promise語法

jsdt / 1185人閱讀

摘要:研究時,想過自己模擬下這個異步機制,今天封裝了一套簡易代碼線上代碼測試地址為線上測試地址

研究Promise時,想過自己模擬下這個異步機制,今天封裝了一套簡易代碼:

let Pms=null;
(function () {
    function execFn(pms,type,data) {
        let {[type+"Arr"]:arr,status}=pms;
        if (status != "pending" ) return;
        arr.forEach((fn,index)=>{
            fn.call(pms, data);
        });
        pms.status= type == "suc"? "fulfilled":"rejected";
        pms.args=data;
    }
    Pms=class{
       constructor(callBack){
           this.status="pending";
           this.sucArr=[];
           this.errorArr=[];
           this.args="";
           callBack.apply(null, [execFn.bind(null, this,"suc"),execFn.bind(null, this,"error")]);
       }
        then(sucFn,errorFn){
            this.sucArr.push(sucFn);
            if (this.status == "fulfilled"){
                sucFn.call(this, this.args);
            }
            if (typeof errorFn != "undefined"){
                this.catch(errorFn);
            }
        }
        catch(errorFn){
            this.errorArr.push(errorFn);
            if (this.status == "rejected"){
                errorFn.call(this, this.args);
            }
        }
    }
})();

線上代碼測試地址為:
線上測試地址

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/87400.html

相關(guān)文章

  • Babel的使用

    摘要:使用的時候只需要安裝你想要的階段就可以了然后添加進你的配置文件。為了顯出的能耐,我們分別配個用和支持的先來配使用的首先安裝然后配置需要注意的是,雖然沒有出現(xiàn)在配置里,但仍然需要安裝,因為依賴它。 Babel介紹 Babel 把用最新標(biāo)準(zhǔn)編寫的 JavaScript 代碼向下編譯成可以在今天隨處可用的版本。 這一過程叫做源碼到源碼編譯, 也被稱為轉(zhuǎn)換編譯。 15 年 11 月,Babel...

    Y3G 評論0 收藏0
  • 前后分離模型之封裝 Api 調(diào)用

    摘要:和異步處理調(diào)用訪問數(shù)據(jù)采用的方式,這是一個異步過程,異步過程最基本的處理方式是事件或回調(diào),其實這兩種處理方式實現(xiàn)原理差不多,都需要在調(diào)用異步過程的時候傳入一個在異步過程結(jié)束的時候調(diào)用的接口。 Ajax 和異步處理 調(diào)用 API 訪問數(shù)據(jù)采用的 Ajax 方式,這是一個異步過程,異步過程最基本的處理方式是事件或回調(diào),其實這兩種處理方式實現(xiàn)原理差不多,都需要在調(diào)用異步過程的時候傳入一個在異...

    trilever 評論0 收藏0
  • 重學(xué)前端學(xué)習(xí)筆記(九)--JavaScript中的對象分類

    摘要:固有對象由標(biāo)準(zhǔn)規(guī)定,隨著運行時創(chuàng)建而自動創(chuàng)建的對象實例。普通對象由語法構(gòu)造器或者關(guān)鍵字定義類創(chuàng)建的對象,它能夠被原型繼承。 筆記說明 重學(xué)前端是程劭非(winter)【前手機淘寶前端負責(zé)人】在極客時間開的一個專欄,每天10分鐘,重構(gòu)你的前端知識體系,筆者主要整理學(xué)習(xí)過程的一些要點筆記以及感悟,完整的可以加入winter的專欄學(xué)習(xí)【原文有winter的語音】,如有侵權(quán)請聯(lián)系我,郵箱:ka...

    ShowerSun 評論0 收藏0
  • 重學(xué)前端學(xué)習(xí)筆記(九)--JavaScript中的對象分類

    摘要:固有對象由標(biāo)準(zhǔn)規(guī)定,隨著運行時創(chuàng)建而自動創(chuàng)建的對象實例。普通對象由語法構(gòu)造器或者關(guān)鍵字定義類創(chuàng)建的對象,它能夠被原型繼承。 筆記說明 重學(xué)前端是程劭非(winter)【前手機淘寶前端負責(zé)人】在極客時間開的一個專欄,每天10分鐘,重構(gòu)你的前端知識體系,筆者主要整理學(xué)習(xí)過程的一些要點筆記以及感悟,完整的可以加入winter的專欄學(xué)習(xí)【原文有winter的語音】,如有侵權(quán)請聯(lián)系我,郵箱:ka...

    tinna 評論0 收藏0

發(fā)表評論

0條評論

閱讀需要支付1元查看
<