new Promise(
// 執行器
function (resolve, reject) {
//一段耗時很長的異步操做
resolve(); //數據處理完成
reject(); //數據處理出錯
}
).then(function A() {
//成功
}, function B() {
//失敗
})
Promise有三個狀態: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 => {});推薦第二種