provideRxDB()
function provideRxDB(source): EnvironmentProviders;
Defined in: rxdb-angular/src/rxdb.provider.ts:128
配置 Angular 注入器使用的 RxDB 实例。
Parameters
| Parameter | Type | Description |
|---|---|---|
source | RxDBSource | 数据库实例、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())