注:只有異步操做的結果能夠決定當前狀態數組
注:狀態一旦改變,就不會再變,而且任什麼時候候均可以獲得這個結果promise
1、Promise構造函數:Promise(excutor){}異步
Ø excutor函數:同步執行(resolve,reject)\=>{} Ø resolve函數:內部定義成功時調用的函數value=>{} Ø reject函數:內部定義失敗時調用的函數reason=>{} excutor會在Promise內部當即同步回調,異步操做在執行器中執行
2、Promise.prototype.then方法:(onResolved,onRejected)=>{}函數
Ø onResolved函數:成功的回調函數(value)=>{},必需 Ø onRejected函數:失敗的回調函數(reason)=>{},可選 指定用於獲得成功value的成功回調和用於獲得失敗reason的失敗回調返回一個新的Promise對象
3、Promise.prototype.catch方法:(onRejected)=>{}prototype
Ø onRejected函數:失敗的回調函數(reason)=>{} then()的語法糖,至關於then(undefined,onRejected)
4、Promise.resolve方法:(value)=>{}code
Ø value:成功的數據或promise對象 返回一個成功的promise對象
5、Promise.reject方法:(reason)=>{}對象
Ø reason:失敗的緣由 返回一個失敗的promise對象
6、Promise.all方法:(promises)=>{}回調函數
Ø promises:包含n個promises的數組 返回一個新的promise,只有全部的promise都成功纔是成功狀態
7、Promise.race方法:(promises)=>{}同步
Ø promises:包含n個promises的數組 返回一個新的promise,第一個完成的promise的結果狀態就是最終的結果狀態