Spec-Zone.ru › Angular

toSignal

Получить текущее значение Observable в виде реактивного Signal.

Взаимодействие RxJS с сигналами Angular

API

function toSignal<T>(source: any): Signal<T | undefined>;
function toSignal<T>(
  source: any,
  options: NoInfer<ToSignalOptions<T | undefined>> & {
    initialValue?: undefined;
    requireSync?: false | undefined;
  },
): Signal<T | undefined>;
function toSignal<T>(
  source: any,
  options: NoInfer<ToSignalOptions<T | null>> & {
    initialValue?: null | undefined;
    requireSync?: false | undefined;
  },
): Signal<T | null>;
function toSignal<T>(
  source: any,
  options: NoInfer<ToSignalOptions<T>> & {
    initialValue?: undefined;
    requireSync: true;
  },
): Signal<T>;
function toSignal<T, U extends T>(
  source: any,
  options: NoInfer<ToSignalOptions<T | U>> & {
    initialValue: U;
    requireSync?: false | undefined;
  },
): Signal<T | U>;
function toSignal<T>(source: any): Signal<T | undefined>;
@paramsourceany
@returnsSignal<T | undefined>
function toSignal<T>(source: any, options: NoInfer<ToSignalOptions<T | undefined>> & { initialValue?: undefined; requireSync?: false | undefined; }): Signal<T | undefined>;
@paramsourceany
@paramoptionsNoInfer<ToSignalOptions<T | undefined>> & { initialValue?: undefined; requireSync?: false | undefined; }
@returnsSignal<T | undefined>
function toSignal<T>(source: any, options: NoInfer<ToSignalOptions<T | null>> & { initialValue?: null | undefined; requireSync?: false | undefined; }): Signal<T | null>;
@paramsourceany
@paramoptionsNoInfer<ToSignalOptions<T | null>> & { initialValue?: null | undefined; requireSync?: false | undefined; }
@returnsSignal<T | null>
function toSignal<T>(source: any, options: NoInfer<ToSignalOptions<T>> & { initialValue?: undefined; requireSync: true; }): Signal<T>;
@paramsourceany
@paramoptionsNoInfer<ToSignalOptions<T>> & { initialValue?: undefined; requireSync: true; }
@returnsSignal<T>
function toSignal<T, U>(source: any, options: NoInfer<ToSignalOptions<T | U>> & { initialValue: U; requireSync?: false | undefined; }): Signal<T | U>;
@paramsourceany
@paramoptionsNoInfer<ToSignalOptions<T | U>> & { initialValue: U; requireSync?: false | undefined; }
@returnsSignal<T | U>

Описание

Получить текущее значение Observable в виде реактивного Signal.

toSignal возвращает Signal, обеспечивающий синхронный реактивный доступ к значениям, выдаваемым переданным Observable, посредством подписки на этот Observable. Возвращаемый Signal всегда содержит последнее значение, выданное подпиской, и выбрасывает ошибку, если Observable завершается с ошибкой.

Если для requireSync задано значение true, toSignal будет проверять, что Observable выдаёт значение сразу после подписки. В этом случае initialValue не требуется, а возвращаемый сигнал не включает тип undefined.

По умолчанию подписка автоматически очищается при уничтожении текущего контекста внедрения зависимостей. Например, если toSignal вызывается при создании компонента, подписка будет очищена при уничтожении компонента. Если контекст внедрения зависимостей недоступен, вместо него можно явно передать Injector.

Если подписка должна сохраняться до завершения самого Observable, можно указать параметр manualCleanup, отключающий автоматическое прекращение подписки. В такой конфигурации контекст внедрения зависимостей также не требуется.

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/rxjs-interop/toSignal

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API