【发布时间】:2018-07-05 05:53:00
【问题描述】:
我有一个用作本地数据存储的服务,用于在应用程序之间共享数据。 该服务在开始时会进行一些休息调用以初始化一些数据。它看起来像这样:
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 循环也会崩溃。那么,如何在 ngOnInit 中等待直到 initializeData 完成?
【问题讨论】:
-
你在哪里调用你的 initializeDada 函数?
-
格式吃掉了那部分,你可能错过了。它在构造函数中
标签: javascript angular typescript promise