Referenceretry
Reference · 33
retry
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
CONSOLE · Console Output
Нажмите на запуск, чтобы увидеть результат...