处理forkJoin中的错误订阅 [英] Handle error in forkJoin on subscribe

查看:201
本文介绍了处理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 .

How can i handle error in this case? Actually, i just need to use then and catch after all my promises resolve, so using forkJoin for me not fundamentally.

推荐答案

forkJoin 如果任何(至少一个) Observables 它在fork-joining中引发错误.您可以在错误处理程序中对其进行处理:

forkJoin will throw an error if any (at least one) of the Observables it is fork-joining throws an error. You can handle it at your error handler:

Observable
    .forkJoin(promises).subscribe(() => {
        this.messagesService.createMessage('success', `Saved`);
        this.router.navigate(['/dashboard/my-calculations']);
    },
    (error) => {
        //handle your error here
    }, () => {
        //observable completes
    })

这篇关于处理forkJoin中的错误订阅的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆