collection<KeyType, ValueType, EntryType, T, ChangeCallbackType>Abstract

抽象基类,包含 Realm List、Dictionary、 Results和 RealmSet 共享的方法。

一个 collection 始终会反映 Realm 的当前状态。唯一的例外是使用for...infor...of枚举时,该枚举将始终枚举开始枚举时与查询匹配的对象,即使其中一些对象在枚举。

since

0.11.0

类型参数

层次结构(查看完整

implements

  • 可迭代<t>

构造函数

方法

  • 此方法与Collection.values方法相同。 它的存在使得collection成为可迭代的,因此能够与 ES6 for-of循环、 ...操作符等一起使用。

    返回Iterator < T , any , undefined >

    collection中每个值的迭代。

    Symbol.iteratoriterable 协议

    例子

    for (let object of collection) {
    // do something with each object
    }

    since

    0.11.0

  • 添加监听器callback ,当实时collection实例发生更改时将调用该监听器。

    参数

    • callback : ChangeCallbackType

      发生更改时要调用的函数。

    • Optional keyPaths : string | string []

      指示与侦听器相关的更改的下限。 这是一个下限,因为如果添加了多个侦听器(每个侦听器都有自己的keyPaths ),这些键路径的并集将确定被视为与在collection上注册的所有侦听器相关的更改。换言之:如果存在具有不同键路径的其他侦听器,则侦听器触发的次数可能会超过键路径指定的次数。

    返回void

    注意

    deletionsoldModifications报告更改发生之前集合中的索引,而insertionsnewModifications报告新版本集合中的索引。

    抛出异常

    如果callback不是函数,则出现TypeAssertionError

    例子

    wines.addListener((collection, changes) => {
    // collection === wines
    console.log(`${changes.insertions.length} insertions`);
    console.log(`${changes.oldModifications.length} oldModifications`);
    console.log(`${changes.newModifications.length} newModifications`);
    console.log(`${changes.deletions.length} deletions`);
    console.log(`new size of collection: ${collection.length}`);
    });

    例子

    wines.addListener((collection, changes) => {
    console.log("A wine's brand might have changed");
    }, ["brand"]);

    注意

    添加侦听器是一项异步操作,因此首次调用回调以在添加侦听器时通知调用者。因此,首次调用回调时,它将包含changes对象中每个属性的空数组。

  • 返回Iterable < EntryType >

    包含collection中所有键/值对的迭代器。

    Array.prototype.keys

    since

    0.11.0

  • 检查此集合是否未被删除以及是否是有效 Realm 的一部分。

    返回布尔值

    true 是否可以安全地访问该集合。

    since

    0.14.0

  • 返回Iterable < KeyType >

    包含集合中所有键的迭代器。

    Array.prototype.keys

    since

    0.11.0

  • 从collection实例中删除所有callback侦听器。

    返回void

  • 从collection实例中删除侦听器callback

    参数

    返回void

    抛出异常

    如果callback不是函数,则抛出 TypeAssertionError

  • 返回Iterable < ValueType >

    包含collection中所有值的迭代器。

    Array.prototype.keys

    since

    0.11.0

使用TypeDoc生成