在observeOn上下文中使用RxSwift的MainSchedule.instance和MainSchedule.asyncInstance有什么区别?
最佳答案
asyncInstance
保证事件的异步传递,而 instance
如果已经在主线程上,则可以同步传递事件。
至于为什么当您已经在主线程上时需要强制异步交付:这种情况相当罕见,我通常会尝试避免它,但有时您有一个递归响应式(Reactive)管道,其中一个事件触发交付同一管道中的新事件。如果这种情况同步发生,则会破坏 Rx 合约,并且 RxSwift 会发出警告,指出您试图在第一个事件完成之前传递第二个事件。在这种情况下,您可以观察 MainScheduler.asyncInstance
以打破循环。
关于ios - RxSwift——MainScheduler.instance 与 MainScheduler.asyncInstance,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58332584/