pendingQueryCacheWriteIds()
function pendingQueryCacheWriteIds(
rxdb,
namespace,
entity
): Promise<ReadonlySet<string>>;
Defined in: rxdb-plugin-sync/src/query-cache-outbox.ts:452
取出某个 QueryCache 仓库当前被出站队列占着的实体 id。
Parameters
| Parameter | Type | Description |
|---|---|---|
rxdb | RxDB | RxDB 实例 |
namespace | string | 命名空间 |
entity | string | 实体名 |
Returns
Promise<ReadonlySet<string>>
队列里还没推回远端的那些实体 id;队列为空时是空集
Remarks
取行条件与 flushQueryCacheOutbox 逐字同源(同分支、remoteId = null、
revertChangeId = null、水位线之后),因为「谁归队列管」和「谁会被重放」必须是
同一个集合 —— 两边各写一份过滤条件,漂移的那一刻就是数据被误删的那一刻。
不看 RxDBSync.enabled:仓库关掉同步时队列永远不会 flush,那些行于是永远留在本地。
它们仍然是只有本地有的用户数据,按「远端没返回 = 孤儿」删掉就再也找不回来了。
没有 RxDBSync 记录时按「没有水位线」读全量,不新建记录:这是一次纯读,
给一个还没同步过的仓库建记录会凭空多出一条水位线为 0 的同步状态。