我使用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];
});
答案 0 :(得分:0)
我通过将错误处理从服务移动到组件来解决它。因为当您在服务中捕获错误时,它无法正确传递给组件。