簡體   English   中英

RxSwift — MainScheduler.instance 與 MainScheduler.asyncInstance

[英]RxSwift — MainScheduler.instance vs MainScheduler.asyncInstance

在 observeOn 的上下文中使用 RxSwift 的MainSchedule.instanceMainSchedule.asyncInstance有什么區別

asyncInstance保證事件的異步傳遞,而如果instance已經在主線程上,它可以同步傳遞事件。

至於為什么當你已經在主線程上時你需要強制異步交付:這是相當罕見的,我通常會盡量避免它,但有時你有一個遞歸反應管道,其中一個事件觸發一個新的交付同一管道中的事件。 如果這是同步發生的,它會破壞 Rx 合約,並且 RxSwift 會發出警告,指出您試圖在第一個事件完成之前傳遞第二個事件。 在這種情況下,您可以觀察MainScheduler.asyncInstance以打破循環。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM