我有一个服务用作本地数据存储,以在整个应用程序中共享数据。此服务在开始时进行一些休息调用以初始化一些数据。它看起来像这样:
Injectable()
export class DataStoreService {
leadList: LeadModel[]
optyList: ContactModel[]
constructor(public dataService:DataService){
this.initializeData()
}
initializeData() {
this.dataService.getObjectData('opportunities').subscribe(
(data) => this.optyList = data
)
this.dataService.getObjectData('leads').subscribe(
(data) => this.leadList = data
)
}
}
我有一个组件页面,我在下面做:
ngOnInit() {
for(let lead of this.dataStore.leadList){
if(lead.accepted == false)
this.newLeadsList.push(lead)
}
}
很明显,如果初始化数据未能完成,则leadList可能未定义,并且此ngOnInit for循环也将崩溃。那么,在initializeData完成之前,如何在ngOnInit中等待?