async ngOnInit(){
console.log('ngOnInit');
var p1 = this.Promisefun();
Promise.all([p1]).then(()=>{
this.PrintAfterAll();
});
}
PrintAfterAll(){
console.log('PrintAfterAll');
}
async Promisefun(){
const observable = new Observable<string>(observer => {
setTimeout(() => {
observer.next('value1');
observer.next('value2');
observer.next('value3');
observer.complete();
},100);
});
observable.subscribe( result => {
console.log(result);
});
}
вывод
PrintAfterAll app.component.ts: 36 значение1 app.component.ts: 36 значение2 app.component.ts: 36 значение3
- Ожидаемый результат app.component.ts: 36 значение1 app.component.ts: 36 значение2 app.component.ts: 36 значение3 PrintAfterAll
Хотите вызвать функцию PrintAfterAll после того, как Promisefun завершит всю подписку внутри нее.