跳到主要内容

needsPush()

function needsPush(metadata, globalSync?): boolean;

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

检查 repository 是否需要 push

Parameters​

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

Returns​

boolean

是否需要 push

Example​

needsPush(metadataFull); // true (full)
needsPush(metadataFilter); // true (filter - 本地变更不受 filter 限制)
needsPush(metadataRemote); // false (remote)
needsPush(metadataLocal); // false (local —— 只在本地,不与远端同步)
needsPush(metadataNone); // false (none)

Remarks​

'local' 一律返回 false:它的定义是「SyncType.None + 只配了 local adapter、没有 remote」, 公开契约写明「只在本地」。此前返回 true 会让私有本地数据进入推送队列(对外泄露), 而且这类仓库连 remote adapter 都没有,推送本就无从执行。

与 needsPull 一样只看 syncType,不看 RxDBSync.enabled。