Мне нужны две функции для возврата всех данных, а также конкретных отфильтрованных данных, но мои конструкции неверны.Ниже приведено то, что «думаю» я хочу, но возвращаю подписки вместо массивов:
allItems() {
var collectionAll: AngularFirestoreCollection<Item> =
this._afs.collection<Item>('items');
var itemArray$: Observable<Item[]> =
collectionAll.valueChanges();
// Returns Subscription but I need Items[]
return itemArray$.subscribe(items => {
return items;
})
}
specificItems(name: string) {
var collectionSpecific: AngularFirestoreCollection<Item> =
this._afs.collection<Item>('items', ref =>
ref.where('name', '==', name));
var itemArray$: Observable<Item[]> =
collectionSpecific.valueChanges();
// Returns Subscription but I need Items[]
return itemArray$.subscribe(items => {
return items;
})
}
Также я думаю, что это должна быть асинхронная функция, но функция подписки не возвращает обещание,
И я даже не уверен, в какой момент мне фактически будет начислен счет чтения из Firestore ...?