Promise鏈式調用 終止或取消


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

 

目前只想到三種方法,但本人認為這不是最好的解決辦法,后續如果后小伙伴發現更好的辦法可以評論哦


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM