Promise

1.什么是Promise

1.1Promise的含義

Promise 是異步編程的一種解決方案,比傳統(tǒng)的解決方案——回調(diào)函數(shù)和事件——更合理和更強(qiáng)大。它由社區(qū)最早提出和實(shí)現(xiàn),ES6 將其寫進(jìn)了語言標(biāo)準(zhǔn),統(tǒng)一了用法,原生提供了Promise對(duì)象。
所謂Promise簡單一點(diǎn)講就是一個(gè)容器,里面保存著某個(gè)未來才會(huì)結(jié)束的事件(通常是一個(gè)異步操作)的結(jié)果。從語法上說,Promise 是一個(gè)對(duì)象,從它可以獲取異步操作的消息。Promise 提供統(tǒng)一的 API,各種異步操作都可以用同樣的方法進(jìn)行處理。

1.2 Promise兩個(gè)特點(diǎn)

1.對(duì)象的狀態(tài)不受外界影響,Promise對(duì)象對(duì)表一個(gè)一步操作,有三種狀態(tài):pedding(進(jìn)行中)/fulfilled(已成功)/ rejected(已失?。?。只有一步操作的結(jié)果可以決定當(dāng)前是哪一個(gè)狀態(tài),這也是Promise名字的由來,它的英語意思就是“承諾”,表示其他手段無法改變。
2.一旦狀態(tài)改變,狀態(tài)就不會(huì)再變,任何時(shí)候都可以得到這個(gè)結(jié)果。Promise的狀態(tài)只有兩種改變方式:pedding-fulfilled或pedding-rejected。只有這兩種情況發(fā)生,不會(huì)再改變,會(huì)一直保持這個(gè)結(jié)果,這是稱為resolved(已定型)

1.3Promise的缺點(diǎn)

1.無法取消Promise,一旦新建就會(huì)馬上執(zhí)行
2.如果不設(shè)置回掉函數(shù),Promise內(nèi)部會(huì)拋出錯(cuò)誤,不會(huì)反應(yīng)到外部
3.處于Promise狀態(tài)時(shí),不知道進(jìn)行到哪一步了

2.基礎(chǔ)用法

ES6規(guī)定,Promise對(duì)象是一個(gè)構(gòu)造函數(shù),用來生成一個(gè)Promise實(shí)例
下面創(chuàng)造一個(gè)Promise實(shí)例:

let promise=new Promite(function(resolve, reject){
      if (/* 異步操作成功 */){
             resolve(value);
                 } else {
                     reject(error);
                 }
});

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

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

  • 所謂Promise,簡單來說就是一個(gè)容器,里面保存著某個(gè)未來才會(huì)結(jié)束的事件(通常是一個(gè)異步操作)的結(jié)果。從語法上來...
    薛定諤的盯襠貓閱讀 387評(píng)論 0 4
  • 一、Promise的含義 Promise在JavaScript語言中早有實(shí)現(xiàn),ES6將其寫進(jìn)了語言標(biāo)準(zhǔn),統(tǒng)一了用法...
    Alex灌湯貓閱讀 887評(píng)論 0 2
  • 00、前言Promise 是異步編程的一種解決方案,比傳統(tǒng)的解決方案——回調(diào)函數(shù)和事件——更合理和更強(qiáng)大。它由社區(qū)...
    夜幕小草閱讀 2,225評(píng)論 0 12
  • Promise的含義: ??Promise是異步編程的一種解決方案,比傳統(tǒng)的解決方案——回調(diào)函數(shù)和事件——更合理和...
    呼呼哥閱讀 2,269評(píng)論 0 16
  • async 函數(shù) 含義 ES2017 標(biāo)準(zhǔn)引入了 async 函數(shù),使得異步操作變得更加方便。 async函數(shù)對(duì) ...
    Xyaleo閱讀 1,172評(píng)論 0 4

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