angular等待方法完成或者要初始化的变量

问题描述 投票:1回答:2

我有一个服务用作本地数据存储,以在整个应用程序中共享数据。此服务在开始时进行一些休息调用以初始化一些数据。它看起来像这样:

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中等待?

javascript angular typescript promise
2个回答
© www.soinside.com 2019 - 2024. All rights reserved.