Задать вопрос
@dev-executor

Как предотвратить остановку Observable?

Есть такой код, в случае ошибки интервал прекращается, и observable становится выполненым, как это предотвратить?
Observable.interval(3000)
            .do(value => console.log('attempt #', value))
            .switchMap(() => this.http.get(url))
            .catch (err => Observable.empty())
            .subscribe(data => console.log(data));
  • Вопрос задан
  • 142 просмотра
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
  • Академия Эдюсон
    Fullstack-разработчик на JavaScript + ИИ
    11 месяцев
    Далее
  • ProductStar × РБК
    Профессия: Инженер по тестированию + ИИ
    6 месяцев
    Далее
Решения вопроса 1
@davidnum95
Нужно внутри switchMap создать новый Observable который будет перехватывать ошибку:
Observable.interval(3000)
            .do(value => console.log('attempt #', value))
            .switchMap(() => Observable.defer(() => this.http.get(url))
                  .map(data => data)
                  .catch(err => console.log(err))
            )
            .catch (err => Observable.empty())
            .subscribe(data => console.log(data));
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы