跳到主要内容

useSyncState()

function useSyncState(): SyncStateResource;

Defined in: rxdb-vue/src/use-sync-state.ts:63

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

Returns​

SyncStateResource

见 SyncStateResource

Throws​

没有 provider、数据库尚未就绪时各抛一条不同的文案;异步 source 创建失败时 原样抛出创建异常(与 useRxDB 同语义)

Example​

<script lang="ts" setup>
import { useSyncState } from '@aiao/rxdb-vue';

const sync = useSyncState();
</script>

<template>
<span v-if="!sync.online.value">离线 · 待推 {{ sync.pendingCount }} 条</span>
</template>

Remarks​

必须在 setup 中调用 —— 它经 useRxDB() 取库(inject 只在 setup 期可用), 订阅随当前作用域销毁自动退订。

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

上游是 BehaviorSubject 支撑的流,订阅当场就会覆盖初值,因此这里给的 snapshot 初值实际上观察不到 —— 它仍取自同一份快照,不引入第二个初值口径。