Promise 的非同步程式設計
- 生命週期,pending,fulfilled, reiected 三種狀態。
- promise並不會暴露自己的狀態,只能通過then的結果來判定。
- fulfilled非同步成功回撥以後資料會傳遞給這個函式
- reiected失敗之後的回撥狀態
- catch相當於拒絕狀態
- 主要為了解決回撥看起來混論問題,可以將非同步看起來以同步順序執行。
let promise = new Promise ( (resolve, reject) => { if ( success ) { resolve(a) // pending ——> resolved 引數將傳遞給對應的回撥方法 } else { reject(err) // pending ——> rejectd } } ) function promise () { return new Promise ( function (resolve, reject) { if ( success ) { resolve(a) } else { reject(err) } } ) } 複製程式碼