enk*_*tor 3 c# system.reactive
System.Reactive.Subjects.Subject<T>和System.Reactive.Subjects.ReplaySubject<T>课程有什么区别?
一个不是从另一个派生的,但它们具有相同的描述并在MSDN中实现相同的接口.
拿这个代码:
var subject = new Subject<int>();
subject.OnNext(42);
subject.OnCompleted();
subject.Subscribe(x => Console.WriteLine(x));
Run Code Online (Sandbox Code Playgroud)
并与此相比:
var subject = new ReplaySubject<int>();
subject.OnNext(42);
subject.OnCompleted();
subject.Subscribe(x => Console.WriteLine(x));
Run Code Online (Sandbox Code Playgroud)
第一个没有产生任何值.第二个产生42.
基本上Subject只为当前订阅者生成值并ReplaySubject记住未来订阅的值(当它"重放"值时).
| 归档时间: |
|
| 查看次数: |
396 次 |
| 最近记录: |