【发布时间】:2020-10-10 13:20:36
【问题描述】:
我在使用 Typescript 的 Angular 中有一个可观察到的小问题。下面的代码不起作用,更多的是为了理解我想要做什么。
getRefuels(): Observable<Refuel[]> {
return new Observable<Refuel[]>((obs) => {
this.hashService.getHashedUserEmail().subscribe((hashValue) => {
//This is the observable I want to return
return this.firestore
.collection<Refuel>(`users/${hashValue}/refuels`, ref => ref.orderBy('date', 'desc'))
.valueChanges({idField: 'id'});
});
});
}
我尝试添加.pipe(map(res => { return res; })),但它并没有达到我想要的效果。
我也尝试过以下代码,但数据类型不适合:
obs.next(this.firestore
.collection<Refuel>(`users/${hashValue}/refuels`, ref => ref.orderBy('date', 'desc'))
.valueChanges({idField: 'id'}));
obs.complete();
当我订阅我的 Firestore observable 然后将结果列表放入 obs.next() 时,它起作用了,但这样我就不再获得列表更新了。
你知道我该如何解决这个问题吗?
【问题讨论】:
标签: angular typescript google-cloud-firestore observable subscribe