es6筆記應用 二

凡人已非凡發表於2018-08-16

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)
            }
        } )
    }
    
    複製程式碼


相關文章