2016-03-03 3 views
2

Я хотел бы использовать функцию RxJS onErrorResumeNext, т. Е. Продолжать получать события, даже если полученная ошибка (вместо прекращения).Как возобновитьOnError (или подобное) в RxJS5

Но я могу видеть в следующем документе, что в RxJS5 нет соответствий: https://github.com/ReactiveX/RxJS/blob/master/MIGRATION.md.

Есть ли обходной путь для использования такой функции? Спасибо!

ответ

1

Я тоже искал этого оператора! Я придумал решение для своих нужд, которое, я надеюсь, поможет вам. Это не самое лучшее решение, скорее всего, но я надеюсь, что это может помочь, пока лучшее решение не может быть найдено в некоторых других здесь, или пока этот оператор не будет добавлен назад в 5.0 (надеюсь!) :)

var Observable = Rx.Observable; 

var source1 = Observable.create(function(observer){ 
    observer.error(); 
}); 
var source2 = Observable.create(function(observer){ 
    observer.next('Continuing on'); 
    observer.complete(); 
}); 


var stream = source1.catch(function(data){ 
    return source2; 
}); 



stream.subscribe(function(data){ 
    console.log(data); 
}); 

JS Пример бункера: https://jsbin.com/qadozoveta/edit?html,js,console

0

Вы все еще можете использовать следующее в rxjs5.

Observable.onErrorResumeNext(observable1$, observable2$, observable3$...) 
      .subscribe(() => { ... }) 

onErrorResumeNext source code

Смежные вопросы