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

Cod*_*ero 1 c# error-handling system.reactive

我怎样才能传递多个错误ReplaySubject

当我调用时,OnError只传递第一个异常.我需要多次打电话才能 errors/exceptions通过.

我看到内部RX创建了一个AnonymousSafeObserver并且OnError正在调用Dispose.

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

非常感谢.

Jam*_*rld 5

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

OnNext*(OnError|OnCompleted)?
Run Code Online (Sandbox Code Playgroud)

也就是说,流由零个或多个OnNext事件组成,后跟可选的单个OnErrorOnCompleted.

AnonymousSafeObserver只是强制执行这个不变量.

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