国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

20170626-Promise的實現

姘擱『 / 632人閱讀

Promise的實現
class Promise111{
    constructor(){
        this.callbacks = []
        this.oncatch = null
    }
    then(onSuccess, onFail){
        this.callbacks.push({
            resolve: onSuccess,
            reject: onFail
        })
        return this
    }
    resolve(result){
        this.complete("resolve", result)
    }
    reject(result){
        this.complete("reject", result)
    }
    complete(type, result){
        if(type === "reject" && this.oncatch){
            this.callbacks = []
            this.oncatch(result)
        } else {
            let callbackObj = this.callbacks.shift()
            callbackObj[type](result)
        }
    }
    catch(onFail){
        this.oncatch = onFail
        return this
    }
}

測試

var p = new Promise111()

function fn(){
    setTimeout(function(){
        p.resolve("data1")
    }, 1000)
    return p
}

function fn1(result){
    console.log("fn1", result)
    setTimeout(function(){
        p.resolve("data2")
    }, 2000)
}

function fn2(result){
    console.log("fn2", result)
}

fn().then(fn1).then(fn2)

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/83687.html

相關文章

  • Dubbo SPI機制和IOC

    摘要:要構建自適應實例,先要有自適應的實現類,實現類有兩種方式一種通過配置文件,一種是通過是字節碼的方式動態生成。 SPI機制 SPI,即(service provider interface)機制,有很多組件的實現,如日志、數據庫訪問等都是采用這樣的方式,一般通用組件為了提升可擴展性,基于接口編程,將操作接口形成標準規范,但是可以開放多種擴展實現,這種做法也符合開閉設計原則,使組件具有可插...

    Scorpion 評論0 收藏0
  • 練習項目備選清單

    摘要:練習項目備選清單文件下載器功能概要設計實現新建下載功能以為基礎給出下載鏈接可以啟動下載任務實現局域網內下載傳輸文件以單線程下載方式實現附加功能支持斷點續傳實現多線程下載實現下載參考技術套接字編程多線程編程音視頻播放器功能概要設計實現播放常見 練習項目備選清單 Utilities 1. 文件下載器 功能概要設計: 實現新建下載功能(以ftp為基礎) 給出下載鏈接可以啟動下載任務 實現局...

    guyan0319 評論0 收藏0
  • 練習項目備選清單

    摘要:練習項目備選清單文件下載器功能概要設計實現新建下載功能以為基礎給出下載鏈接可以啟動下載任務實現局域網內下載傳輸文件以單線程下載方式實現附加功能支持斷點續傳實現多線程下載實現下載參考技術套接字編程多線程編程音視頻播放器功能概要設計實現播放常見 練習項目備選清單 Utilities 1. 文件下載器 功能概要設計: 實現新建下載功能(以ftp為基礎) 給出下載鏈接可以啟動下載任務 實現局...

    peixn 評論0 收藏0
  • 前端路由原理解析和實現

    摘要:如何實現前端路由要實現前端路由,需要解決兩個核心如何改變卻不引起頁面刷新如何檢測變化了下面分別使用和兩種實現方式回答上面的兩個核心問題。 原文鏈接:github.com/whinc/blog/… 在單頁應用如此流行的今天,曾經令人驚嘆的前端路由已經成為各大框架的基礎標配,每個框架都提供了強大的路由功能,導致路由實現變的復雜。想要搞懂路由內部實現還是有些困難的,但是如果只想了解路由實現基本...

    lavor 評論0 收藏0

發表評論

0條評論

姘擱『

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<