天天看點

酒濃碼濃 - es6 Promisees6 Promise幹貨

es6 Promise幹貨

小叙:

都說es6是文法糖,那麼說promise是es6的經典那就一點毛病都沒有!!!

本人認為promise最突出的作用就是極緻的增強了代碼的易讀性。

then()的機制,取代了原有層層嵌套的函數的繁瑣,讓代碼一目了然;

then就是new一個新的promise對象,是以可以無數then下去

catch()的報錯機制

本人認為catch就不要亂用了好嗎,如果你真的用到了OK!!!

如果你僅是在裡面列印一下err,那麼這備援的代碼真的讓人不爽,也讓程式走了冤枉路。

all()

都完成後執行then 。

all以一個數組作為一個參數 ,裡面可以放置無數個函數! 以同步的機制去處理操作,得到上級 傳回值 執行下個任務。

race()

完成一個就執行then(競速)

缺點:

promise有三種狀态 resolved 成功了 padding 進行中 rejected 失敗了

promise一旦發送任務将隻知道在這三個狀态哪一步,無法終止!

擴充:

都說fetch各種好要取代了ajax。

那麼window原生的fetch,隻相容高版本的谷歌等浏覽器,全崩!!!!!!!

需引用promise的polyfill方法做處理:

require('es6-promise').polyfill();

import 'isomorphic-fetch';

是以fetch可以享用then,catch等等promise的方法,是以promise的缺點就是fetch的缺點,是以fetch發的請求,一旦發出就無法收回,但ajax 有個 abort方法可以終止