Я пытаюсь понять, как реализовать простую условную операцию в наблюдаемую.
this.deactivate$
.pipe(
filter((canDeactivate) => !canDeactivate),
switchMap(() => Observable.of(window.confirm("message")))
);
Я хочу получить следующее:
if (canDeactivate) {
return canDeactivate;
}
else {
return window.confirm("message");
}
Проблема вПервый приведенный выше код заключается в том, что при фильтрации пропущенного значения остальные операторы не выполняются, и поток останавливается для заполнения пропущенного значения.
Есть идеи?