Promise

promise就是一個對象,用來傳遞異步操作的消息,它代表未來纔會知道的結果。
它有兩個特點
(1)對象狀態不受外界影響。3種狀態(進行中pending,已完成resolved,已失敗rejected)
(2)一旦狀態改變就不會再變。狀態改變只有兩種可能(pending->resolved,pending->rejected)
缺點
(1)無法取消
(2)不設置回調函數,內部錯誤不會反應到外部
(3)處於pending狀態無法得知進展到哪裏

使用例子

        //一般不這麼用
        promise.then((value) => {
            //success
        }, (error) => {
            //fail
            //第二個參數可選
        }).done();

        //推薦
        promise.then((value) => {
            //success
        }).catch((error) => {

        }).done();

    //ES7中的異步
    async myFunction() {//---async表示函數裏面有異步操作
        try {//最好加try catch
            var symbol = await this.myStep();//---await後面的表達式需要等待操作結果
        } catch (err) {

        }
    }

參考文獻:http://mp.weixin.qq.com/s?__biz=MzIyMzAwNzExNg==&mid=209354478&idx=1&sn=edd70e826b6f9e8a570024f431c5f7fe&scene=1&key=c76941211a49ab58efed75a0405e3ca61338952103fe9eabf8528d801906e4522737274eecca5489d635a5c1aa5d8b12&ascene=0&uin=MTYxMDY3MjU1&devicetype=iMac+MacBookPro11%2C3+OSX+OSX+10.10.4+build(14E46)&version=11020113&pass_ticket=ws1Ar8vSXgH8%2FuRvUaFkiKCA57pR8100%2BhwA5Ifuc00%3D

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章