ES6之Promise

? ? ? 相信很多倒霉孩子用過Promise,不管是ng的還是node里面的,但是那些或多或少都是封裝的,現(xiàn)在我們說一下ES6提供的原生的Promise,簡單來說,Promise就是一個對象保存著一個未來才會結(jié)束的事件,然后會返回給你API,方便給你這個事件以什么結(jié)果結(jié)束的處理。promise對象的狀態(tài)不受外界影響,指根據(jù)它內(nèi)部的那個事件或者異步操作改變而改變,它包含三個狀態(tài):pending(進行中)、fulfilled(已成功)、rejected(已失敗);它的狀態(tài)變化只能是 pending==》fulfilled和pending==》rejected,而且狀態(tài)改變了就不能再變化,就會進行結(jié)果輸出。

? ? ? ?ES6原生的Promise對象是個構(gòu)造函數(shù)用來生成實例,并且會在新建之后立即執(zhí)行,promise = new Promise(function(resolve,reject))其中resolve是將promise中的異步操作轉(zhuǎn)換成fulfilled狀態(tài)并將結(jié)果作為參數(shù)傳遞出去,reject是將promise中的異步操作轉(zhuǎn)換成rejected狀態(tài)并將結(jié)果作為參數(shù)傳遞出去。其實例對象方法,promise.then接受兩個回調(diào)函數(shù)做參數(shù)表示異步操作的成功和失敗的處理,可以做鏈?zhǔn)讲僮?;promise.catch指定發(fā)生錯誤時的回調(diào)函數(shù),并且其中產(chǎn)生的錯誤如果不被catch會一直傳遞直到被catch;Promise.all([arr])類似與$q.all([arr])同時處理多個promise的實例,只有promise都fulfilled才會返回fulfilled否則返回rejected;Promise.race([arr])只要arr中的任何一個promise實例狀態(tài)改變那么整個的狀態(tài)都會改變,并且它的返回值是最先改變狀態(tài)的那個實例的返回;Promise.resolve(obj)將obj轉(zhuǎn)化成promise實例對象且狀態(tài)是fulfilled,如果obj是一個promise對象且then方法齊全,那就直接執(zhí)行then方法;Promise.reject(obj)返回一個promise對象且狀態(tài)是rejected,并且obj會成為reject的參數(shù)(即失敗的錯誤);promise.done()總是出現(xiàn)在回調(diào)鏈的尾端,保證拋出任何可能的錯誤;promise.finally()表示不管最后promise的狀態(tài)是啥都要執(zhí)行的操作。

? ? ? 反正可以看作基于ng和node里面的promise方法的拓展,反正寫的話方法很亂。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Promiese 簡單說就是一個容器,里面保存著某個未來才會結(jié)束的事件(通常是一個異步操作)的結(jié)果,語法上說,Pr...
    雨飛飛雨閱讀 3,491評論 0 19
  • 特點 Promise能將回調(diào)分離出來,在異步操作執(zhí)行之后,用鏈?zhǔn)椒椒▓?zhí)行回調(diào),雖然es5用封裝函數(shù)也能實現(xiàn),但是如...
    一二三kkxx閱讀 717評論 0 1
  • 本文大部分內(nèi)容是阮一峰老師的文章,這里搬過來也是為了自己記錄,想看更加詳細(xì)的教程請移步阮一峰老師個人博客 1.Pr...
    四月天__閱讀 380評論 0 0
  • Promise的含義: ??Promise是異步編程的一種解決方案,比傳統(tǒng)的解決方案——回調(diào)函數(shù)和事件——更合理和...
    呼呼哥閱讀 2,276評論 0 16
  • 冠孩:哈哈!我一點都不像50多歲!這是認(rèn)識我的人對我的贊揚!其實是和我天天大課間堅持跑步分不開的!這是內(nèi)因!希望你...
    春暖花開之歌閱讀 269評論 0 0

友情鏈接更多精彩內(nèi)容