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