Promise基本概念、語法

1、Promise對象

(1)三種狀態
  • Pending:進行中
  • fulfull:已成功
  • rejected:已失敗

注:只有異步操做的結果能夠決定當前狀態數組

(2)狀態變化
  • pending 到 fulfull
  • pending 到 rejected

注:狀態一旦改變,就不會再變,而且任什麼時候候均可以獲得這個結果promise

2、基本用法

1Promise構造函數:Promise(excutor){}異步

Ø excutor函數:同步執行(resolve,reject)\=>{}

Ø resolve函數:內部定義成功時調用的函數value=>{}

Ø reject函數:內部定義失敗時調用的函數reason=>{}

 excutor會在Promise內部當即同步回調,異步操做在執行器中執行

2Promise.prototype.then方法:(onResolved,onRejected)=>{}函數

Ø onResolved函數:成功的回調函數(value)=>{},必需

Ø onRejected函數:失敗的回調函數(reason)=>{},可選

 指定用於獲得成功value的成功回調和用於獲得失敗reason的失敗回調返回一個新的Promise對象

3Promise.prototype.catch方法:(onRejected)=>{}prototype

Ø onRejected函數:失敗的回調函數(reason)=>{}

 then()的語法糖,至關於then(undefined,onRejected)

4Promise.resolve方法:(value)=>{}code

Ø value:成功的數據或promise對象

 返回一個成功的promise對象

5Promise.reject方法:(reason)=>{}對象

Ø reason:失敗的緣由

 返回一個失敗的promise對象

6Promise.all方法:(promises)=>{}回調函數

Ø promises:包含n個promises的數組

 返回一個新的promise,只有全部的promise都成功纔是成功狀態

7Promise.race方法:(promises)=>{}同步

Ø promises:包含n個promises的數組

 返回一個新的promise,第一個完成的promise的結果狀態就是最終的結果狀態
相關文章
相關標籤/搜索