Realm ~App .Sync SubscriptionSet

表示 Realm 实例的所有活动 Flexible Sync 订阅集的类。

服务器将持续评估实例订阅的查询,并发送与这些查询匹配的数据,并删除不再匹配的数据。

订阅集只能在Realm.App.Sync.SubscriptionSet#update回调内通过调用相应Realm.App.Sync.MutableSubscriptionSet实例上的方法进行更新。

错误
只读

如果stateRealm.App.Sync.SubscriptionsState.Error ,这将返回一个string ,表示订阅集处于错误状态的原因。 如果没有错误,则返回null

类型
string or null
isEmpty
只读

如果集合中没有订阅,则返回true ,否则返回false

类型
boolean
长度
只读

集合中的订阅数量。

类型
number
只读

订阅集的状态。

类型
Realm.App.Sync.SubscriptionSetState
版本
只读

订阅集的版本。 每次应用Realm.App.Sync.SubscriptionSet#update时,该值都会递增。

类型
number
update(回调)Promise<void>

更新 SubscriptionSet 并更改此实例以指向更新后的 SubscriptionSet。

在集合中添加或删除订阅必须在此方法的回调参数内执行,并且必须对mutableSubs参数而不是原始Realm.App.Sync.SubscriptionSet实例调用变更方法。

执行回调后对订阅的任何更改都将分批发送到服务器。 您可以awaitupdate的调用,或调用Realm.App.Sync.SubscriptionSet#waitForSynchronization以等待新数据可用。

示例:

await realm.subscriptions.update(mutableSubs => {
  mutableSubs.add(realm.objects("Cat").filtered("age > 10"));
  mutableSubs.add(realm.objects("Dog").filtered("age > 20"));
  mutableSubs.removeByName("personSubs");
});
// `realm` will now return the expected results based on the updated subscriptions
参数
  • callback
    • 类型: function
    • 一个回调函数,它接收Realm.App.Sync~FlexibleSyncConfiguration Realm.App.Sync.MutableSubscriptionSet实例作为第一个参数(可用于在订阅集中添加或删除订阅)以及与 SubscriptionSet 关联的 Realm 作为第二个参数(主要当在initialSubscriptions )。

      注意:回调不应是异步的。

返回Promise<void>一个 Promise,在同步 SubscriptionSet 时解析,或者在同步期间出错时拒绝(请参阅waitForSynchronisation
waitForSynchronization()Promise<void>

等待服务器确认该订阅集并返回匹配的对象。

如果stateRealm.App.Sync.SubscriptionSetState.Complete ,则 Promise 将立即得到解决。

如果stateRealm.App.Sync.SubscriptionSetState.Error ,则 Promise 将被立即拒绝。

返回Promise<void>一个 Promise,在同步完成时将解析该 Promise,如果在同步过程中出现错误,将拒绝该 Promise。
every(callback, thisArg )boolean
已弃用:将在 v12.0.0 中删除。
请参阅: Array.prototype.every
参数
  • callback
    • 类型: function
    • 在订阅集中的每个对象上执行的函数。 如果此函数为每个对象返回true ,则此方法将返回true 。 该函数接受三个参数:

      • object – SubscriptionSet 中正在处理的当前对象。
      • index – 订阅集中正在处理的对象的索引。
      • subscriptionSet – SubscriptionSet 本身。
  • thisArg 可选
    • 类型: object
    • 调用callbackthis的值。

返回boolean表示callback是否为 SubscriptionSet 中的每个对象返回true
findByName(名称)Realm.App.Sync.Subscription or null

按名称查找订阅。

参数
  • 名称
    • 类型: string
    • 要搜索的名称。

返回Realm.App.Sync.Subscriptionnull已命名的订阅;如果未找到订阅,则返回null
findByQuery(查询)Realm.App.Sync.Subscription or null

通过查询查找订阅。 将匹配命名和未命名的订阅。

参数
  • 查询
    • 类型: Realm.Results
    • 要搜索的查询,表示为Realm.Results实例,例如 Realm.objects("Cat").filtered("age > 10")

返回Realm.App.Sync.Subscriptionnull具有指定查询的订阅,如果未找到订阅,则返回null
forEach(callback, thisArg )
已弃用:将在 v12.0.0 中删除。
参数
  • callback
    • 类型: function
    • 在订阅集中的每个对象上执行的函数。 该函数接受三个参数:

      • object – SubscriptionSet 中正在处理的当前对象。
      • index – 订阅集中正在处理的对象的索引。
      • subscriptionSet – SubscriptionSet 本身。
  • thisArg 可选
    • 类型: object
    • 调用callbackthis的值。

map(callback, thisArg )[any, ...]
已弃用:将在 v12.0.0 中删除。
请参阅: Array.prototype.map
参数
  • callback
    • 类型: function
    • 在订阅集中的每个对象上执行的函数。 该函数接受三个参数:

      • object – SubscriptionSet 中正在处理的当前对象。
      • index – 订阅集中正在处理的对象的索引。
      • subscriptionSet – SubscriptionSet 本身。
  • thisArg 可选
    • 类型: object
    • 调用callbackthis的值。

返回[any, ...] — 对 SubscriptionSet 中的每个对象调用callback后的返回值。
化简(reduce)回调, initialValueany
已弃用:将在 v12.0.0 中删除。
请参阅: Array.prototype.reduce
参数
  • callback
    • 类型: function
    • 在订阅集中的每个对象上执行的函数。 该函数有四个参数:

      • previousValue – 上次调用回调时返回的值,或initialValue (如果已提供)。
      • object – SubscriptionSet 中正在处理的当前对象。
      • index – 订阅集中正在处理的对象的索引。
      • subscriptionSet – SubscriptionSet 本身。
  • 初始值 可选
    • 类型: object
    • 用作首次调用callback的第一个参数的值。

抛出异常
  • TypeError
    • 如果 SubscriptionSet 为空且未提供initialValue

返回any – 最终调用callback的返回值,以下特殊情况除外
  • 如果 SubscriptionSet 由单个对象组成,并且未提供initalValue ,则将返回该对象。
  • 如果 SubscriptionSet 为空,则必须提供initialValue ,该值将被返回。
reduceRight回调, initialValueany
已弃用:将在 v12.0.0 中删除。
参数
  • callback
    • 类型: function
    • 对 SubscriptionSet 中从右到左的每个对象执行的函数。 该函数有四个参数:

      • previousValue – 上次调用回调时返回的值,或initialValue (如果已提供)。
      • object – SubscriptionSet 中正在处理的当前对象。
      • index – 订阅集中正在处理的对象的索引。
      • subscriptionSet – SubscriptionSet 本身。
  • 初始值 可选
    • 类型: object
    • 用作首次调用callback的第一个参数的值。

抛出异常
  • TypeError
    • 如果 SubscriptionSet 为空且未提供initialValue

返回any – 最终调用callback的返回值,以下特殊情况除外
  • 如果 SubscriptionSet 由单个对象组成,并且未提供initalValue ,则将返回该对象。
  • 如果 SubscriptionSet 为空,则必须提供initialValue ,该值将被返回。
some(callback, thisArg )boolean
已弃用:将在 v12.0.0 中删除。
请参阅: Array.prototype.some
参数
  • callback
    • 类型: function
    • 在订阅集中的每个对象上执行的函数。 如果此函数返回true ,则此方法将返回true 。 该函数接受三个参数:

      • object – SubscriptionSet 中正在处理的当前对象。
      • index – 订阅集中正在处理的对象的索引。
      • subscriptionSet – SubscriptionSet 本身。
  • thisArg 可选
    • 类型: object
    • 调用callbackthis的值。

返回callback为 SubscriptionSet 中的对象返回true时,返回booleantrue ,否则返回false