gpt4 book ai didi

react X : Error Handling that doesn't destroy observable

转载 作者:行者123 更新时间:2023-12-04 12:46:21 25 4
gpt4 key购买 nike

不清楚如何在 REactiveX 中将错误传播给订阅者,以便 Observable 不会被破坏。

例子

observable.onNext(1);
observable.onNext(2);
observable.onError("Nope");
observable.onNext(3);<<won't work.

我按原样接受此限制,但是我仍然希望下游的听众知道发生了错误

我不希望被观察者死亡。

这个的主要用例是 UI 代码,如果出现错误,我不想对它之前注册的所有可观察对象调用“设置”。

可能的选择是

a) 推送具有数据字段和错误字段的自定义对象
class Data
{
int value;
Error * error;
}

我不喜欢这个解决方案

b) 有两个流。一种用于数据,一种用于错误。
observable.onNext(1);
observable.onNext(2);
errorObservable.onNext("Error");
observable.onNext(3);

这方面的最佳常见做法是什么?

最佳答案

我肯定会选择选项 A) - 创建一个可以携带数据和/或错误的对象。 我不关心您如何将数据和可能的错误包装到该对象中,而是通过一个流将两者发送为 onNext() events 是正确的解决方案,它为订阅者提供所有信息和处理这些信息的所有自由。

B) 选项在更复杂的异步场景中实现可能非常具有挑战性,并且可能会导致使用大量 Subject s 这也不好。

关于 react X : Error Handling that doesn't destroy observable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37977249/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com