使用Angular Promise.all时没有catch方法的意外行为

时间:2017-07-27 09:34:07

标签: angular promise

我使用Angular的Promise.all()方法。由于错误处理发生在服务中,因此我不需要组件中的.catch()方法。但是当我离开它时 - 就像在示例中一样 - 即使其中一个承诺被拒绝,.then()方法也会被执行。我不明白为什么会这样。

代码示例:

const promises = [promise1, promise2];
Promise.all(promises)
  .then(suc => {
    // gets executed in error case
    this.result1= suc[0];
    this.result2= suc[1];
  });

1 个答案:

答案 0 :(得分:0)

我通过将错误处理从服务移动到组件来解决它。因为当您在服务中捕获错误时,它无法正确传递给组件。