跳到主要内容

provideRxDB()

function provideRxDB(source): EnvironmentProviders;

Defined in: rxdb-angular/src/rxdb.provider.ts:128

配置 Angular 注入器使用的 RxDB 实例。

Parameters​

ParameterTypeDescription
sourceRxDBSource数据库实例、Promise,或返回二者之一的工厂

Returns​

EnvironmentProviders

Angular 环境 providers

Remarks​

同步的 source(实例或返回实例的工厂)解析后 inject(RxDB) 立即可用,与改动前一致。 异步的 source 由本函数一并注册的 provideAppInitializer 在 bootstrap 之前等完, 因此根注入器下 inject(RxDB) 依旧是同步的 —— 调用方不必自己写 initializer。

注意 provideAppInitializer 只在根环境注入器生效。把本函数用在路由级 providers 上时, 异步 source 不会有人替你等,inject(RxDB) 会抛 NOT_READY_MESSAGE; 这种场景请改用 useRxDBOptional 并自行处理 loading。

生命周期见 createHolder 的「所有权规则」。

Example​

// 同步工厂(最常见)
provideRxDB(setup_rxdb)

// 动态 import:桌面分支不进 web bundle
provideRxDB(async () => (await import('./setup_rxdb_desktop')).default())