跳到主要内容

needsOfflineWrite()

function needsOfflineWrite(metadata, globalSync?): boolean;

Defined in: packages/rxdb/src/sync-contract/sync-type-utils.ts:312

检查 repository 在远端不可达时是否接受本地写(并在恢复连接后重放)

Parameters​

ParameterTypeDescription
metadataEntityMetadata实体元数据
globalSync?| SyncOptions | EntitySyncResolver全局同步配置(可选);传实例解析器 rxdb.entitySync 时连同实例覆盖一起解析

Returns​

boolean

是否支持离线写

Example​

needsOfflineWrite(metadataFull); // true
needsOfflineWrite(metadataQueryCache); // true (经 REST 动词重放,不走 changelog)
needsOfflineWrite(metadataRemote); // false (没有本地存储,无处可写)
needsOfflineWrite(metadataLocal); // false (没有远端,无处可重放)
needsOfflineWrite(metadataNone); // false

Remarks​

与 needsPush 是两个正交问题,别用其中一个替代另一个:querycache 在这里是 true、在 needsPush 是 false。回推驱动按这两个字段分派 —— push 的走 syncManager.push(),offlineWrite && !push 的走 QueryCache 出站重放。