Если вы используете ngb-bootstrap, вы можете вернуть наблюдаемое из результата (ngb-pop возвращает обещание.
В stackblitz Я приведу простой пример, основанный наСамый простой пример всплывающего окна
У вас есть функция, которая возвращает наблюдаемое. Посмотрите, что мы используем catchError, потому что в ngb-popup ошибки "close", "esc" или "click outside" падают в ошибке обещания
open(content) {
this.modalRef=this.modalService.open(content, {ariaLabelledBy: 'modal-basic-title'})
return from(this.modalRef.result).pipe(catchError((error) => {
return of(this.getDismissReason(error))
}));
}
Затем вы можете подписаться на функцию, например,
click(content)
{
this.open(content).subscribe(res=>{
console.log(res)
})
}
Или, в вашем случае, некоторые, как
switchMap(([aRes, bRes, cRes]) => {
....
return this.open(content).map(res=>{
//here you has the response of the popUp
if (res=="Save Click")
{
......
return true
}
return false
})
}