我陷入困境,无法实现以下目标。我的项目是在ionic3和Firestore。
constructor
方法中的列表并将其存储在数组中。由于两者一起执行,我如何知道何时在提供程序中提取数据,因此我可以从我的page.ts调用方法来获取列表。
我尝试过以下方法......
在Page.ts
中constructor(private provider: Provider){
provider.whenDataReady(this.doThis);
}
doThis(list: Array<any>){
//Do things
}
在Provider.ts
中whenDataReady(callback){
if(this.list == undefined){
setTiomout(this.whenDataReady, 3000)
}else{
callback(this.list);
}
}
即使没有未定义,Provider.ts中的this.list == undefine
检查也始终为真。
所以这就是我想做的事情。如果有更好的方法,请告诉我。我想在不同页面的列表中显示用户的好友数据。 在提供者:
由于列表可能非常大并且可能花费我很多读取(配置文件数据),我正在以下列方式进行操作。
我正在订阅朋友ID列表更改并将其保留在Array中。任何页面都可以访问此阵列并根据需要读取尽可能多的好友配置文件数据存储数据后,将不再为该会话读取数据。 所以问题是在访问提供者中的朋友ID数组之前我需要确保它已经被提取。这有意义吗?