Возможно, вы хотите сделать что-то вроде:
function1() {
const promise: Promise = new Promise((resolve, reject) => {
this.function2(resolve);
});
promise.then(response => console.log(response));
}
function2(resolveFn: any) {
// Some Code
this.dialog.afterClosed().subscribe(data => {
resolveFn(data);
});
}
[ОБНОВЛЕНИЕ]: ИМО, вы должны делать это полностью с помощью наблюдаемых (здесь нет необходимости в обещаниях):
function1() {
const afterClosed$: Observable<any> = this.function2();
afterClosed$.subscribe((response: any) => console.log(response));
}
function2(): Observable<any> {
// Some Code
return this.dialog.afterClosed();
}