Không rõ cách truyền bá lỗi cho người đăng ký trong REactiveX sao cho Đài quan sát không bị phá hủy.ReactiveX: Lỗi xử lý không phá hủy quan sát
Ví dụ
observable.onNext(1);
observable.onNext(2);
observable.onError("Nope");
observable.onNext(3);<<won't work.
Tôi chấp nhận hạn chế này vì nó là, tuy nhiên tôi vẫn còn có kịch bản mà tôi muốn nghe hạ biết một lỗi xảy ra VÀ Tôi không muốn quan sát để chết.
Trường hợp sử dụng chính là mã giao diện người dùng, nếu có lỗi xảy ra, tôi không muốn phải gọi "Thiết lập" đối với tất cả các quan sát được đăng ký trước đó.
lựa chọn thay thế có thể là
a) đẩy một đối tượng tùy chỉnh mà có một trường dữ liệu và một trường lỗi
class Data
{
int value;
Error * error;
}
Tôi không thích giải pháp này
b) Có hai dòng. Một cho dữ liệu và một cho lỗi.
observable.onNext(1);
observable.onNext(2);
errorObservable.onNext("Error");
observable.onNext(3);
Thực tiễn phổ biến nhất cho điều này là gì?