为什么Observable.FromEventPattern接受调度程序?

时间:2013-08-05 06:45:15

标签: c# .net system.reactive reactive-programming

为什么Observable.FromEventPattern会接受调度程序?

IObservable<EventPattern<TEventArgs>> FromEventPattern<TEventArgs>(Action<EventHandler<TEventArgs>> addHandler, Action<EventHandler<TEventArgs>> removeHandler, IScheduler scheduler)

我可以理解为什么像Throttle和Delay这样的基于时间的运算符会占用调度程序。但是,FromEventPattern与之相关的“没有时间概念”。

Observable.FromEventPattern如何使用调度程序?

1 个答案:

答案 0 :(得分:2)

事件在特定的调度程序上传递。例如,您可能希望在线程池而不是UI线程上传递事件。你可以用

Scheduler.Default

然后对事件的任何下游处理都不会影响UI呈现。当然,您需要将结果封送回UI调度程序。对于此开关,您可以使用

ObserveOnDispatcher()

将后续处理放回UI线程的方法。