QueryCacheSession<T>
Defined in: packages/rxdb/src/repository/query-cache-engine.interface.ts:58
一个 QueryCache 实体一份的引擎会话。
Remarks
生命周期与持有它的 Repository 等长,「刚同步过」的记忆表归它持有 —— 主仓储
随适配器流每次发射重建,记忆放在主仓储身上等于活不过一次 find。
Type Parameters
| Type Parameter | Description |
|---|---|
T extends EntityType | 实体类型 |
Methods
clear()
clear(): void;
Defined in: packages/rxdb/src/repository/query-cache-engine.interface.ts:83
清空记忆。
Returns
void
Remarks
两个调用点:远端失效上报(须同步清,否则随后的重跑会命中陈旧记忆)与
Repository.destroy()(记忆表每条都挂着 setTimeout,不清会把仓储连同闭包
钉在事件循环上直到窗口自己走完)。
createPrimary()
createPrimary(localAdapter, remoteAdapter): QueryCachePrimary<T>;
Defined in: packages/rxdb/src/repository/query-cache-engine.interface.ts:73
建一个主仓储。
Parameters
| Parameter | Type | Description |
|---|---|---|
localAdapter | object | 本次发射的本地适配器 |
remoteAdapter | object | 本次发射的远端适配器 |
Returns
Remarks
适配器流每次发射调一次。「实例换了就清记忆、没换就沿用」(US-020 AC#22)的对表 语义在实现侧完成 —— 核心这边只负责按流重建,不知道记忆的存在。
形参取 object 而不是两个 QueryCache 适配器契约:能力校验(五个 duck 齐不齐)
是实现的责任,RxDBQueryCacheCapabilityError 要在首次真正用到它的调用上抛,
而不是在核心的类型签名上把不合格的适配器提前挡掉。