RxJS catchError并返回先前的值而不是完成?

时间:2018-09-11 17:48:51

标签: rxjs

我有一个可能会或可能不会出错的流,我想catchError以便在错误之前返回上一个/最后一个值,以便继续该流而未完成。与此类似:

inputStream$.pipe(catchError(err => inputStream$.previousValue)).subscribe(...)

1 个答案:

答案 0 :(得分:1)

可观察到的inputStream$发出错误后,它就结束了。

catchError允许将发出错误的可观察变量与另一个可观察变量相结合(catchError第一个参数的结果) 此处提供了一些示例:https://www.learnrxjs.io/operators/error_handling/catch.html

您正在寻找的可能是retry,当源发出错误消息时,它会重新订阅可观察到的源(此处为inputSteam$)。 https://www.learnrxjs.io/operators/error_handling/retry.html