它不清楚如何將錯誤傳播給REactiveX中的訂閱者,使得Observable不會被銷燬。ReactiveX:錯誤處理不會破壞可觀察的
例
observable.onNext(1);
observable.onNext(2);
observable.onError("Nope");
observable.onNext(3);<<won't work.
我接受這種限制,因爲它是,但我仍然有場景,我想聽衆下游知道發生錯誤 和 我不希望觀察到死。
這個主要的用例是UI代碼,如果出現錯誤,我不希望針對之前註冊的所有可觀察對象調用「Setup」。
可能的替代是
一)推動,有一個數據字段的自定義對象和錯誤場
class Data
{
int value;
Error * error;
}
我不喜歡這個解決方案
B)有兩個流。一個用於數據,另一個用於錯誤。
observable.onNext(1);
observable.onNext(2);
errorObservable.onNext("Error");
observable.onNext(3);
什麼是最好的常見做法呢?