гуарде есть код:
canDeactivate(component: ComponentCanDeactivate): Observable<boolean> | Promise<boolean> | boolean {
const bsModalRef = this.modalService.show(LeaveConfirmationWindowComponent);
return bsModalRef.content.result$
.do(needToSave => {
if (needToSave) {
component.saveOnLeaving();
}
});
}
Код выше работает отлично. И сохранение работает, но проблема в том, что это происходит одновременно, если юзер нажал подтвердил в модалке, то происходит переход и сохранение одновременно. Как сделатать, так чтобы сначала произошло сохранение, и потом переход?
Не совсем понял, но можно попробовать вместо .do использовать switchMap, а в нем saveonleaving, который должен возвращать observable)
Обсуждают сегодня