У меня крошечная наблюдаемая проблема в Angular с Typescript. Код ниже не работает , это больше для понимания того, что я хочу делать.
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, а затем поместил полученный список в obs.next()
, но это Таким образом, я больше не получаю обновления списка.
У вас есть идея, как я могу решить эту проблему?