如何在ReplaySubject下传递多个错误?

时间:2015-03-09 13:21:51

标签: c# error-handling system.reactive

如何在ReplaySubject下传递多个错误?

当我呼叫OnError时,只传递第一个异常。我需要多次打电话并通过所有errors/exceptions

我看到内部RX创建了AnonymousSafeObserver,而OnError正在调用Dispose

我可以创建自己的AnonymousSafeObserver版本,如何更改功能?

非常感谢。

1 个答案:

答案 0 :(得分:5)

您不得将多个错误发送到Rx流。这是Rx的一个基本属性,Observables展示了以下语法:

OnNext*(OnError|OnCompleted)?

也就是说,流包含零个或多个OnNext个事件,后面可选择一个OnErrorOnCompleted

AnonymousSafeObserver只是强制执行此不变量。

听起来您的错误实际上是流的数据,而不是流本身异常终止的信号。在这种情况下,创建一个类型来携带这些数据,然后通过OnNext发送。