跳到主要内容

useSyncState()

function useSyncState(): SyncStateResource;

Defined in: rxdb-angular/src/use-sync-state.ts:69

读取当前数据库的同步状态。

Returns​

SyncStateResource

见 SyncStateResource

Throws​

没有 provideRxDB、数据库尚未就绪,或创建失败时抛错(与 useRxDB 同语义)

Example​

@Component({
template: `
@if (!sync.online()) {
<span>离线 · 待推 {{ sync.pendingCount() }} 条</span>
}
`
})
export class SyncBanner {
readonly sync = useSyncState();
}

Remarks​

必须在 Angular 注入上下文中调用 —— 它经 useRxDB() 取库,订阅也挂在当前 DestroyRef 上,注入器销毁时自动退订。

数据库取不到时抛错而不是返回一份「一切正常」的默认值:那会把「面板没接上」 伪装成「没有待推变更」,恰好是最需要出声的时候不出声。

上游是 BehaviorSubject 支撑的流,首次读取即拿到当前值,因此 initialValue 实际上观察不到 —— 它仍取自同一份快照,不引入第二个初值口径。