gpt4 book ai didi

system.reactive - react 性扩展 : When and why to use the Notification class?

转载 作者:行者123 更新时间:2023-12-02 22:05:08 24 4
gpt4 key购买 nike

我试图了解何时以及为何使用 Notification 类。我看到它与 ToNotifier 和 FromNotifier 有关,但不确定它们的用途。

它是为了在可观察序列和观察者之间创建一种类似于绑定(bind)的双向方式,以便观察者可以通过通知将更改推回原始可观察对象,还是?

谢谢,埃吉尔。

最佳答案

我个人唯一一次用过Notification<T>是当我不得不在多个合并的流中捕获一些奇怪的错误时......这是我正在做的一个精简的半不切实际的例子:

public class ImportantException : Exception {}

var src1 = new Subject<int>();
var src2 = new Subject<int>();
var wrapped = Observable.Merge(src1.Materialize(), src2.Materialize());

var query =
from note in wrapped
let fail = note.Kind == NotificationKind.OnError
let ignorable = fail && !(note.Exception is ImportantException)
where !fail || !ignorable
select note;

using(query.Subscribe(Console.WriteLine))
{
src1.OnNext(1);
src2.OnNext(1);
src1.OnError(new Exception());
src2.OnError(new ImportantException());
}

所以基本上,我只希望来自多个(在我的例子中是几十个)合并流中的某些类型的错误渗透到订阅者。这是上述不切实际示例的输出:

OnNextNotification<int> { Value = 1 }
OnNextNotification<int> { Value = 1 }
OnErrorNotification<int> { Exception = (ImportantException) }

(是的,您可以使用 Catch 构造通过一些修补来复制它,但我发现以这种形式更容易通读)

关于system.reactive - react 性扩展 : When and why to use the Notification class?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16253332/

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