【发布时间】:2019-09-23 15:00:33
【问题描述】:
我需要两个函数来返回所有数据以及特定的过滤数据,但我的构造是错误的。以下是我想要的“想法”,但返回的是订阅而不是数组:
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 向我收取读取计数...?
【问题讨论】:
标签: javascript angular firebase google-cloud-firestore angularfire2