Promise回調分兩種方法,then成功,catch失敗
let promise = new Promise(function(resolve, reject){ resolve('第一次成功') }) promise.then(function(val) { // 兩種方法意思都代表報錯,【中斷下一步,直接報錯】
//第一種方法 throw new error()
// 第二種方法
return Promise.reject()
}).then(function(val) { console.log('被跳過的方法') }).catch(function(val) { console.log('返回失敗') })
第三種方法有點粗暴,但也是目前看來可解決的可行辦法
let promise = new Promise(function(resolve, reject){ resolve('第一次成功') }) promise.then(function(val) { //第三種方法 return new Promise(()=>{}) }).catch(function(val) { console.log('返回失敗') }).then(function(val) { console.log('被跳過的方法') })
前兩種如果鏈式調用最后以失敗結尾的話是可行的,如果以成功結尾就會出問題,第三種方法是直接阻斷性,講進程轉到新的Promise
目前只想到三種方法,但本人認為這不是最好的解決辦法,后續如果后小伙伴發現更好的辦法可以評論哦
