У меня проблема с ошибками проглатывания RxJS. Так что в моем случае у меня есть что-то вроде этого:Обработка ошибок RxJS
function funcThatThrowsError(fn, ..args) {
return fn.bind(fn, ...args);
}
function fetchItems() {
Observable.fromPromise(
reqwest({
url: `${API_ROOT}${url}`,
method,
data,
contentType: "application/json"
})
).map(funcThatThrowsError(null, "someValue"))
}
const observableA = fechItems();
const observableB = ... ;
Observable
.combineLatest(
observableA,
observableB,
() => { }
)
.forEach(
() => { }, // success
(err) -> console.log(err.stack);
)
Поэтому в основном я намеренно пропускание нулевого значения в качестве параметра fn
, который вызывает funcThatThrowsError
бросить исключение.
Проблема в том, что обратный вызов ошибки не вызывается в этом случае. Скорее RxJS будет использовать собственный thrower
функцию
function thrower(e) {
throw e;
}
Что лучшая практика, чтобы иметь дело с этим сценарием. Я чувствую, что чего-то не хватает.