1. 程式人生 > >promise總結

promise總結

ror 分享 回調函數 ESS color 異步 錯誤 inf pan

new Promise(
    // 執行器
    function (resolve, reject) {
        //一段耗時很長的異步操作
        resolve(); //數據處理完成
        reject(); //數據處理出錯
    }
).then(function A() {
    //成功
}, function B() {
    //失敗
})

Promise有三個狀態:

pengding 初始狀態 fulfilled 操作成功 rejected 操作失敗 Promise一經創建,立刻開始執行,每個.then()可以返回一個新的promise實例,所以可以鏈式調用,也可以返回其他值或者返回空。 這裏要註意,如果返回新的promise,下一級的then會在新的promise狀態改變之後再執行,如果返回其他任何值,則會直接執行then,不等待上一個then的promise的執行結果。 如果上一個函數返回fulfilled狀態 則執行then裏的第一個成功回調函數,如果返回rejected狀態則執行失敗回調。 技術分享圖片
promise錯誤處理 方法1:reject(‘錯誤信息‘).then(null,message =>{}); 方法2:throw new Error(‘錯誤信息’).catch(message => {});推薦第二種

promise總結