У меня есть такая структура:
export class SomeDerived extends SomeBase implements OnInit{
public async ngOnInit(): Promise<void> {
await super.ngOnInit();
this.getBy(this.x);
}
}
export class SomeBase implements OnInit {
public x: any;
public async ngOnInit(): Promise<void> {
try{
await this.fetch();
}catch(e){}
}
public async fetch(): Promise<void> {
const someId = await this.requestService.fetchId().toPromise().id;
this.x = await this.requestService.fetchX(someId).toPromise();
}
}
хорошо, когда я запускаю это, this.x в SomeDerived не определено, потому что он не ожидает результатов super.ngOnInit (), которые будут установлены в SomeBase и это продолжается. Я не очень хорошо разбираюсь в асинхронном коде, не могли бы вы помочь мне понять, почему это происходит?