进度As Flow

摘要 乐趣 ProgressAsFlow(direction : Direction , progressMode : ProgressMode): Flow<进度>

创建 Progress -事件 Flow ,追踪 SyncSession 完成的下载或上传。

这只是数据传输和Progress事件的指示器, Progress.isTransferCompletetrue并不能保证数据在 Realm 中已经可见。 要等待数据集成并可见,请使用downloadAllServerChanges / uploadAllLocalChanges

如果流是使用ProgressMode.CURRENT_CHANGES创建的,则进度只会增加,并将在Progress.isTransferComplete = true一次完成。

如果流是使用ProgressMode.INDEFINITELY创建的,则进度既可以增加也可以减少,因为流仍处于活动状态时可能会添加更多更改。 这意味着一个Progress实例可以报告isTransferComplete = true ,而后续实例可以报告isTransferComplete = false

如果 Realm 关闭,则流程将完成。

该流具有 Channel.BUFFERED 的内部缓冲区,但如果使用者未能及时使用元素,则该流将结束并抛出一个IllegalStateException