有没有办法从BehaviorSubject中恢复错误?

时间:2016-12-05 14:26:26

标签: javascript angular rxjs

我需要能够使用BehaviorSubject(最好)向订阅者发出新值(next | error)。

基本上我想使用BehaviorSubject作为下一个和错误值的2个独立流,因为从这些错误中它可以恢复,例如。从服务器提交和拒绝的表单输入,服务器可以接受来自输入的新提交值,因此订户应该接收下一个val。例如。好消息。

现在我为每个组件提供了一个中间数据服务(基于this),使用BehaviorSubject扩展一些基本服务以获取ok值,并使用Subject获取错误值。它似乎有效,但我不确定当我将提供数十种这样的服务时它会如何表现。

有没有办法通过BehaviorSubject或任何符合建议行为的方法从错误中恢复?

1 个答案:

答案 0 :(得分:0)

如果您在Subject(或在您的情况BehaviorSubjectReplaySubject)上发送错误,Subject基本上已死。在某些情况下,添加.catch可能是有意义的。但即便如此:Subject不能再用于发射其他数据了。因此,如果您想要坚持使用两个Subjects,请在两者上使用.next(...)从不手动使用.error(...)。也许您希望得到这个答案,它可能与您的问题类似:https://stackoverflow.com/a/40823122/1518765