进度 As Flow
创建 Progress -事件 Flow ,追踪 SyncSession 完成的下载或上传。
这只是数据传输和Progress事件的指示器, Progress.isTransferComplete 为true
并不能保证数据在 Realm 中已经可见。 要等待数据集成并可见,请使用downloadAllServerChanges / uploadAllLocalChanges 。
如果流是使用ProgressMode.CURRENT_CHANGES创建的,则进度只会增加,并将在Progress.isTransferComplete = true
一次完成。
如果流是使用ProgressMode.INDEFINITELY创建的,则进度既可以增加也可以减少,因为流仍处于活动状态时可能会添加更多更改。 这意味着一个Progress实例可以报告isTransferComplete = true
,而后续实例可以报告isTransferComplete = false
。
如果 Realm 关闭,则流程将完成。
该流具有 Channel.BUFFERED 的内部缓冲区,但如果使用者未能及时使用元素,则该流将结束并抛出一个IllegalStateException 。