Задать вопрос
@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));
  • Вопрос задан
  • 140 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
  • Skillfactory
    Профессия Веб-разработчик
    12 месяцев
    Далее
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
Решения вопроса 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));
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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