如何在ReplaySubject
下传递多个错误?
当我呼叫OnError
时,只传递第一个异常。我需要多次打电话并通过所有errors/exceptions
。
我看到内部RX
创建了AnonymousSafeObserver
,而OnError
正在调用Dispose
。
我可以创建自己的AnonymousSafeObserver
版本,如何更改功能?
非常感谢。
答案 0 :(得分:5)
您不得将多个错误发送到Rx流。这是Rx的一个基本属性,Observables展示了以下语法:
OnNext*(OnError|OnCompleted)?
也就是说,流包含零个或多个OnNext
个事件,后面可选择一个OnError
或OnCompleted
。
AnonymousSafeObserver
只是强制执行此不变量。
听起来您的错误实际上是流的数据,而不是流本身异常终止的信号。在这种情况下,创建一个类型来携带这些数据,然后通过OnNext
发送。