es6 Promise使用過程中定義多個reject,reject會被執行多次么?


問題:

常使用Promise應該會有一個疑問,我在then()和catch都加了reject那么會怎么走呢?

測試結果:

如果then里定義reject,就走then里的reject,如果then里沒定義,就走catch里的reject。
自始至終,reject只會調用一次。

testPromise() {
  return new Promise(function (resolve, reject) {
    reject("testreject")
  });
}

第一種情況:

testPromise().then(function(res){
      console.log("1");
},err => console.log(err,"2")).catch(err => console.log(err,"3"))

結果:testreject2

第二種情況:

testPromise().then(function(res){
      console.log("1");
}).catch(err => console.log(err,"3"))

結果:testreject3


免責聲明!

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



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