injectAsync
Вспомогательная функция для асинхронного внедрения зависимостей. Она может быть полезна, если зависимость не требуется сразу и может загружаться лениво.
API
function injectAsync<T>( loader: () => Promise<ProviderToken<T>>, options?: InjectAsyncOptions | undefined, ): () => Promise<T>; function injectAsync<T>( loader: () => Promise<DefaultExport<ProviderToken<T>>>, options?: InjectAsyncOptions | undefined, ): () => Promise<T>;
function injectAsync<T>(loader: () => Promise<ProviderToken<T>>, options?: InjectAsyncOptions | undefined): () => Promise<T>;
Вспомогательная функция для асинхронного внедрения зависимостей. Она может быть полезна, если зависимость не требуется сразу и может загружаться лениво.
ПРИМЕЧАНИЕ: Чтобы включить ленивую загрузку, внедряемый сервис должен предоставляться автоматически. Это означает, что он должен быть декорирован либо с помощью @Injectable({providedIn: 'root'}), либо с помощью @Service().
() => Promise<ProviderToken<T>>Функция, возвращающая промис, который разрешается в внедряемый сервис
() => Promise<T>Функция, возвращающая промис, который разрешается в запрошенный экземпляр сервиса.
class MyCmp {
someSvc = injectAsync(() => import('..'));
async onClick() {
(await this.someSvc()).handleClick();
}
}
// we can also configure prefetching:
injectAsync(.., {prefetch: onIdle})function injectAsync<T>(loader: () => Promise<DefaultExport<ProviderToken<T>>>, options?: InjectAsyncOptions | undefined): () => Promise<T>;
() => Promise<T>
Описание
Вспомогательная функция для асинхронного внедрения зависимостей. Она может быть полезна, если зависимость не требуется сразу и может загружаться лениво.
ПРИМЕЧАНИЕ: Чтобы включить ленивую загрузку, внедряемый сервис должен предоставляться автоматически. Это означает, что он должен быть декорирован либо с помощью @Injectable({providedIn: 'root'}), либо с помощью @Service().
Примечания по использованию
class MyCmp {
someSvc = injectAsync(() => import('..'));
async onClick() {
(await this.someSvc()).handleClick();
}
}
// we can also configure prefetching:
injectAsync(.., {prefetch: onIdle})
Super-powered by Google ©2010–2025.
Code licensed under an MIT-style License. Documentation licensed under CC BY 4.0.
https://angular.dev/api/core/injectAsync