shared-service.ts
intialValue: BehaviorSubject<string> = new BehaviorSubject(null);
setInitialValue(value: any){
this.intialValue.next(value)
}
app.component.ts
async ngOnInit(){
//api call
await this.sharedService.setInitialValue('api return value')
}
У меня есть домашний компонент, в котором, открыв localhost:4200/home
, затем обновив его.Я полагаю, что app.component.ts
вызывают, и api возвращает значение до ngOnInit
в home.component.ts
вызове.
home.component.ts
ngOnInt(){
this.sharedService.intialValue.subscribe(res => {
console.log(res) //it should be 'api return value' which is set in app.component but it showing null.
});
}
То, что я наблюдал, это home.component.ts
ngOnInit
вызывается до api success
завершения вызова.Как я могу преодолеть этот сценарий, использую ли я поведенческие объекты и угловые компоненты, неправильно синхронизацию JavaScript?