我是Angular /打字的新手,有以下问题.对于你们中的大多数人来说,这可能是非常微不足道的.
在我的ngOnInit()
岁时,我试图通过GET请求检索存储在我后端的设置.之后,我需要开始订阅一份《观察者》.可观察对象开始填充小部件(内容方面/它们随着时间的推移而变化),而设置则给出了将显示的小部件的数量/类型.
基本上,让ngOnInit()等待getGeneralSettingsOnce
响应,然后开始一些其他订阅.
My request function:个
getGeneralSettingsOnce(): Promise<any> {
return this.http.get(`${environment.API_URL}/get_general_settings`).toPromise()
.then(response => {
return response
})
}
我的第一个try 是将主页的ngOnInit设置为一个异步函数,然后等待promise .->;这将指向我的主页中一些静态小部件的Cannot read properties of undefined (reading '-1')
.根据我读到的一篇文章,这可能是因为我的主页没有完全加载,而浏览器已经在try 呈现页面?(不是很确定)来源:article
Parts of my ngOnInit of my main page个
async ngOnInit() {
let generalSettings = await this.localService.getGeneralSettingsOnce(); //calling the promise
this.widgetCount = generalSettings.widget_count
// other subsrciptions
this.localService.getWidgetContent().subscribe(
data => { this.loadWidgetContent(data)
}
}
}
所以我的问题是,我如何将我的目标存档,首先初始化设置,然后再提交给其他请求函数,就像它将是同步的一样.最好是不出现错误.