订阅

订阅集是已配置为Flexible Sync的给定 Realm 的所有当前Subscription的不可变视图。

Flexible Sync 是一种使用RealmQuery定义与设备同步哪些数据或从设备同步哪些数据的方法。 查询及其元数据由订阅表示。

因此,订阅集定义了设备可用并与服务器同步的所有数据。 如果订阅集遇到错误,例如包含无效查询,则整个订阅集将进入SubscriptionSetState.ERROR状态,并且在修复错误之前不会进行同步。

如果订阅被删除,相应的数据也会被删除,但只是从设备中删除。 它不会在服务器上删除。

可以在离线时修改订阅集,但在BaseSubscriptionSet.state返回SubscriptionSetState.COMPLETE之前服务器不会接受修改,这要求设备处于在线状态。

可以使用waitForSynchronization等待订阅集与服务器同步。

属性

链接已复制到剪贴板
摘要 val 错误消息: 字符串?

如果状态返回SubscriptionSetState.ERROR ,此方法将返回原因。 可以通过相应地修改订阅,然后调用SubscriptionSet.waitForSynchronization来修复错误。

链接已复制到剪贴板
摘要 val size: Int

此订阅集中当前的订阅数量。

链接已复制到剪贴板

订阅集的当前状态。 有关每种状态的更多详细信息,请参阅SubscriptionSetState

功能

链接已复制到剪贴板
摘要 乐趣 关闭()
链接已复制到剪贴板
摘要 乐趣 findByName(name : String): 订阅?

查找具有给定名称的订阅。

链接已复制到剪贴板
摘要 乐趣 <t : RealmObject> findByQuery(查询 RealmQuery < T >): 订阅?

查找包含给定查询的第一个订阅。 多个命名订阅可能包含相同的查询。

链接已复制到剪贴板
摘要 运算符 乐趣 迭代器(): 迭代程序<订阅>
链接已复制到剪贴板
摘要 乐趣 刷新(): SubscriptionSet<t>

刷新订阅集的状态,使其反映订阅的最新底层状态。

链接已复制到剪贴板
摘要 暂停 乐趣 update(区块 MutableSubscriptionSet (: T ) ->单位): SubscriptionSet<t>

修改订阅集。 如果在更新过程中引发异常,则不会应用任何更改。 如果更新成功,则该订阅集将更新为已修改状态。

链接已复制到剪贴板
摘要 暂停 乐趣 waitForSynchronization(timeout : Duration = Duration.INFINITE): 布尔

等待订阅集与服务器同步。 当服务器接受查询集并为其下载数据,或者发生错误时,它将返回。