BACK
ReferencecatchError
Reference · 32

catchError

catchError

rxjs.dev

Перехватывает ошибку и возвращает запасной Observable.

Сигнатура

catchError(selector: (err: any, caught: Observable) => ObservableInput): OperatorFunction

Маркеры

in:           --1--2--#
catch->fallback: --1--2--f|

Что делает

При error на источнике вызывает selector(err, caught). Возвращённый Observable становится продолжением потока. Второй аргумент caught — исходный Observable, повторная подписка на него реализует «retry by hand».

Когда использовать

Fallback-значение (catchError(() => of([]))), преобразование ошибок (throwError(() => new MyError(...))), глушитель (EMPTY).

Подводный камень

catchError заменяет поток. После него следующие операторы работают с новым потоком, а исходный больше не эмитит.

См. также

retry, finalize, throwError

script.ts // TypeScript
CONSOLE · Console Output
Нажмите на запуск, чтобы увидеть результат...