回答
ObserveOnDispatcher()
不被弃用,但是保罗说,提供一个明确的调度程序通常会更好,因此您可以为单元测试注入一个TestScheduler
。
DispatcherScheduler.Current
可用于获取当前的DispatcherScheduler
- 不是.Instance
,这是有道理的,因为实际上可以有多个 - 尽管大多数人不应该走这条路!
ObserveOnDispatcher()
和DispatcherScheduler
存在于Windows Phone 8 Rx版本中。它们位于rx-xaml
nuget包中,其中包含xaml特定于平台的元素 - 如果您只包含rx-main
,则会错过此选项。
具体而言,它们位于System.Reactive.Windows.Threading.dll
组件中。 ObserveOnDispatcher()
是System.Reactive.Linq.DispatcherObservable
类型,并且该程序集也有System.Reactive.Concurrency.DispatcherScheduler
。
我平时写:
.ObserveOn(DispatcherScheduler.Instance)
,如果我不使用ReactiveUI。如果我是,这是
.ObserveOn(RxApp.MainThreadScheduler)
所不同的是,在一个单元测试运行,RxApp.MainThreadScheduler
自动操纵是CurrentThread
,所以你的单元测试通过 - 否则他们都会挂起。
在“DispatcherScheduler”是什么名称空间和程序集?我发现的一个('Microsoft.Phone.Reactive.DispatcherScheduler')位于C:\ Program Files(x86)\ Reference Assemblies \ Microsoft \ Framework \ WindowsPhone \ v8.0 \ Microsoft.Phone.Reactive.dll中,不是任何NuGet软件包。 –
- 1. 在Magento中设置观察者的正确方法是什么?
- 2. 什么是从UI线程暂停AsyncTask的正确方法
- 3. 什么是在Azure中执行多线程的正确方法
- 4. 在UITableViewCell中修改UIView外观的正确方法是什么?
- 5. 确定什么是阻塞UI线程
- 6. 在Vue.js中替换可观察数组的方法是什么?
- 7. 在线程队列上执行多个操作的正确方法是什么?
- 8. 什么是锁定线程的正确方法?
- 9. 等待.NET线程启动的正确方法是什么?
- 10. 用多线程处理文件的正确方法是什么?
- 11. 使用线程处理错误的正确方法是什么?
- 12. 从后台线程更新可观察列表的正确方法
- 13. 什么是在本地获得PrimeFaces UI的正确方法?
- 14. 什么是在WPF中创建UI设置的正确方法?
- 15. 在Urigo的角流星上使用UI日历的正确方法是什么?
- 16. 在UITextField下放置一条线的正确方法是什么
- 17. CoreAudio实时线程与UI线程进行通信的正确方法是什么?
- 18. 在RxSwift中处理一次性观察值的正确方法
- 19. 当有很多CRUD方法时,从UI线程运行SQLite代码的正确方法是什么?
- 20. 线程的正确方法
- 21. Python,确定Unix进程是否正在运行的正确方法是什么?
- 22. 观察主线程时是否需要同步观察值?
- 23. 线程在Android下进行通信的正确,有效的方法是什么?
- 24. 绑定IEnumerable的MVVM属性的正确方法,是不是可观察集合
- 25. 观察者const正确性
- 26. AngularJS - 这是什么正确的方法?
- 27. 什么是SPOJ COURIER的正确方法
- 28. reactjs中的正确方法是什么?
- 29. QSqlDatabase&QSqlQuery的正确方法是什么?
- 30. 做SlideAnimation的正确方法是什么?
'rx-xaml':这就是我错过的! –