angular - 在订阅时处理 forkJoin 中的错误
问题描述
我有下一个功能:
saveTable() {
...
let promises = [];
for (index = 0; index < this._TOTAL.length; ++index) {
let promise = this.db.object(ref).update(this._TOTAL[index]);
promises.push(promise);
}
Observable.forkJoin(promises).subscribe(() => {
this.messagesService.createMessage('success', `Saved`);
this.router.navigate(['/dashboard/my-calculations']);
})
}
在这种情况下我该如何处理错误?实际上,我只需要使用then
,catch
毕竟我的承诺解决了,所以forkJoin
从根本上不是为我使用。
解决方案
forkJoin
如果它是 fork-joining 中的任何一个(至少一个)抛出错误Observables
,则会抛出错误。您可以在错误处理程序中处理它:
Observable
.forkJoin(promises).subscribe(() => {
this.messagesService.createMessage('success', `Saved`);
this.router.navigate(['/dashboard/my-calculations']);
},
(error) => {
//handle your error here
}, () => {
//observable completes
})
推荐阅读
- magento - 请求不从 cookie 管理器获取动态用户定义的 cookie 数据
- numpy - 加快对给定数组的每个索引值应用转换
- assembly - 大会 x86 - 使消息框出现 5 次
- amazon-web-services - 使用 docker golang sdk 删除我的 AWS ECR 映像
- python - 如何根据tensorflow 1.10中的张量值将(m,50)张量减少为(m,25)张量
- javascript - Vue如何根据间隔触发点击链接
- automated-tests - 如何在 WSO2 平台上实现 SMSOTP 的自动化测试
- c++ - 算法陷入循环
- python - pyspark线程池执行器日志管理
- java - 为动态按钮添加基本的点击动画