ES6: Promise函數(shù)

  • Promise的三種狀態(tài)
    Pending:進(jìn)行中 | Resolved(已完成)|Rejected(已失?。?/p>

  • 例子

var promise = new Promise(function(resolve,reject){
  $.ajax({
    success: function(data){
        resolve(data)
    },
   error: function(err){
       reject(err)
  }
  })})

使用

promise.then(function(data){
dosomething(data)
},function(err){
do something(err)
})
  • 錯(cuò)誤捕捉catch
    可以用catch來捕捉錯(cuò)誤。

  • 封裝一個(gè)promise方法

function getFn(url){
  return new Promise(function(resolve,reject){
    $.ajax({
        url: url,
        success: function(data){
          resolve(data);
      },
        error: function(err){
          reject(err)
      }
    })
})
}
//使用
getFn(url).then(function(data){
  return getFn(url2)
}).then(function(url3){
})
  • Promise.all()
    promise.all接受一個(gè)由多個(gè)promise對象,包裝成一個(gè)新的promise對象.
    如下,三個(gè)promise對象必須都是resolve狀態(tài),這個(gè)新的promise對象才會(huì)是resolve狀態(tài)

** 在平時(shí)的開發(fā)中,我們可能碰到這種情況,需要多個(gè)接口的返回的數(shù)據(jù)拼裝在一起渲染頁面之后再執(zhí)行相應(yīng)的事件,這時(shí),Promise.all就派上用場了**

var p1 = new Promise(function(resolve){resolve(111)});
var p2 = new Promise(function(resolve){resolve(222)});
var p3 = new Promise(function(resolve){resolve(333)});
Promise.all([p1,p2,p3]).then(data)
//[111,222,333]
  • Promise.resolve()
    將現(xiàn)有對象轉(zhuǎn)換成為一個(gè)promise對象

  • Promise.reject
    將現(xiàn)有對象轉(zhuǎn)換成為一個(gè)promise對象
    只不過對象狀態(tài)為rejec

日后會(huì)補(bǔ)上自己對co模塊的使用和理解,這一塊內(nèi)容準(zhǔn)備放在koa內(nèi)容里寫

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

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

  • 特點(diǎn) Promise能將回調(diào)分離出來,在異步操作執(zhí)行之后,用鏈?zhǔn)椒椒▓?zhí)行回調(diào),雖然es5用封裝函數(shù)也能實(shí)現(xiàn),但是如...
    一二三kkxx閱讀 714評論 0 1
  • //本文內(nèi)容起初摘抄于 阮一峰 作者的譯文,用于記錄和學(xué)習(xí),建議觀者移步于原文 概念: 所謂的Promise,...
    曾經(jīng)過往閱讀 1,318評論 0 7
  • 你不知道JS:異步 第三章:Promises 在第二章,我們指出了采用回調(diào)來表達(dá)異步和管理并發(fā)時(shí)的兩種主要不足:缺...
    purple_force閱讀 2,228評論 0 4
  • 官方中文版原文鏈接 感謝社區(qū)中各位的大力支持,譯者再次奉上一點(diǎn)點(diǎn)福利:阿里云產(chǎn)品券,享受所有官網(wǎng)優(yōu)惠,并抽取幸運(yùn)大...
    HetfieldJoe閱讀 11,115評論 26 95
  • 2013.08.29 黃沙飛卷塞外道, 殘陽照,西風(fēng)嘯。 碧落長云,戍邊戎旌耀。 塞雁哀鳴聞知否? 羌笛幽,胡笳瘦...
    世語鑫說閱讀 263評論 0 0

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