ios - RxSwift——MainScheduler.instance 与 MainScheduler.asyncInstance

标签 ios swift reactive-programming rx-swift reactive-cocoa

observeOn上下文中使用RxSwift的MainSchedule.instanceMainSchedule.asyncInstance有什么区别?

最佳答案

asyncInstance 保证事件的异步传递,而 instance 如果已经在主线程上,则可以同步传递事件。

至于为什么当您已经在主线程上时需要强制异步交付:这种情况相当罕见,我通常会尝试避免它,但有时您有一个递归响应式(Reactive)管道,其中一个事件触发交付同一管道中的新事件。如果这种情况同步发生,则会破坏 Rx 合约,并且 RxSwift 会发出警告,指出您试图在第一个事件完成之前传递第二个事件。在这种情况下,您可以观察 MainScheduler.asyncInstance 以打破循环。

关于ios - RxSwift——MainScheduler.instance 与 MainScheduler.asyncInstance,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58332584/

相关文章:

iphone - 应用程序加载器停留在 "Authenticating with the iTunes Store"阶段

ios - 在 React Native 中隐藏/显示基于服务/动态地来自 json 的标签 <Text>

javascript - 在 rxjs Observable 中抛出错误

iOS核心运动检测向前/向后倾斜

ios - 在没有 Storyboard的情况下编写 iOS 8 共享扩展

objective-c - 无法在 TableView 中使用 pushViewController 打开详细 View 屏幕

javascript - RxJs:组合两个可观察量 - 从第一个观察到的所有,但不是从第二个观察到的全部

ios - 在主 Storyboard顶部呈现锁定屏幕

ios - 在通过 WiFi 连接的两个或多个设备之间通话 - iOS

ios - 设置 map 坐标范围默认显示 (0, 0)