问题:

常使用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

posted on 2020-04-09 16:10  步孤天  阅读(1259)  评论(0)    收藏  举报