你如何正确遍历一个AngularFire观察的名单? 我不知道如何处理数据,每一个响应返回列表,以及一个新的全体成员(如“金字塔”) -如何遍历AngularFire可观察列表?
first response: [{obj1}]
second response: [{obj1}, {obj2}]
third response: [{obj1}, {obj2}, {obj3}]
我试图实现我的代码两种解决方案,没有一个看起来像是正确的路要走。
第一解决方案使用rxjs地图 - 但它太过度,因为它遍历每次整个响应。
getAllSchools(): Observable<any> {
return this.angularFire.database.list('schools').map((response) => {
return response.map(school => {
return \\do something to school\\
})
})
}
这意味着,在上述(其中超过schools
列表上循环)的“做些什么来学校”的例子是时间执行school1
,然后再school1
,并率先school2
。然后第三次school1
,第二次school2
,和第一时间school1
等
第二溶液,我试图使用preserveSnapshot
实现。这里的问题是,我不确定它只返回一次和一次数据。
getAllSchools(): Observable<ISchool> {
return new Observable(observer => {
this.angularFire.database.list('schools', { preserveSnapshot: true })
.subscribe(snap => {
snap.forEach((school) => {
///do things to school///
observer.next(school)
})
})
})
}
这是一个非常基本的问题,我相信解决方案非常“简单”。尽管如此,我找不到明确的解决方案。
是否需要使用另一个库,例如这个one?
非常感谢!
听起来像这样的问题:https://github.com/angular/angularfire2/issues/574 – cartant