BACK
Referenceretry
Reference · 33

retry

Повторно подписывается при ошибке.

Сигнатура

retry(count?: number | { count?: number; delay?: number | ((err, i) => ObservableInput) }): MonoTypeOperatorFunction

Что делает

При error на источнике пересоздаёт подписку и пробует снова, до count раз. Если все попытки исчерпаны — ошибка пробрасывается дальше. В конфиге delay можно задать паузу (число мс) или функцию, возвращающую Observable «когда повторить» — это даёт backoff.

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

Сетевые сбои, временные ошибки 5xx, нестабильные сервисы. Экспоненциальный backoff: retry({ count: 3, delay: (e, i) => timer(2 ** i * 1000) }).

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

Не используйте на сабжектах/горячих источниках — пересоздать подписку = заново отправить запрос/выполнить эффект. Бесконечный retry без логирования прячет проблему.

См. также

catchError, timer, finalize

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