после filter результат пустой? Понимаю, что можно сделать это через if/else, но что-то подсказывает, что есть более грамотная конструкция.
Код примерно такой:
return Observable.forkJoin([request1, request2])
.filter((res: any) => res[0].Response == 'Success')
.map(res => res);
Observable.throw
var observable = Rx.Observable.from([0, 1, 2, 3, 4, 5]) .flatMap((value) => Rx.Observable.if(() => value != 3, Rx.Observable.just(value), Rx.Observable.throw(new Error("Value cannot be 3"))) //This will get skipped if upstream throws an error .map(v => v * 2) .catch((err) => { console.log("Caught Error, continuing") //Return an empty Observable which gets collapsed in the output return Rx.Observable.empty(); }) ); observable.subscribe( (value) => console.log("onNext " + value), (error) => console.log("Error: " + error.message), () => console.log("Completed!") );
Обсуждают сегодня