【发布时间】:2019-10-20 15:28:02
【问题描述】:
我从 Firestore 的响应中获得了可观察的信息。然后我在一个数组中创建一个可观察的列表。在我想将这个 observables 列表与 RXJS 组合运算符结合起来之后。因为我现在从来没有提前将结果的数量推送到我的数组中,所以我需要在组合运算符中动态获取 observables。
我尝试了 .map 数组来获取 observables 数组的内容,但它不起作用。我的想法是达到这个结果:
const combineAll = merge(queriesTab[0], queriesTab[1], queriesTab[2]).pipe(mergeAll()); 动态。
我尝试了const combineAll = merge(requetesTab.map(id => id+',')).pipe(mergeAll());,但它不起作用。
我尝试使用 array.join() 创建可观察字符串的列表,但它不起作用。我列出了同一主题的所有答案,但没有找到答案。我很确定.map 是可能的,但我现在不知道。感谢您的帮助。
var counter = 0;
var queriesTab = [];
for (counter=0; counter < secteurAct.length; counter++ ){
var recup = this['requete' + counter];
recup = this.firestore.collection('annonce', ref => ref
.where("secteurActivite","==", secteurAct[counter])
.orderBy("date"))
.snapshotChanges().pipe(
map(actions => actions.map(a => {
const data = a.payload.doc.data();
const id = a.payload.doc.id;
return { id, ...data };
}))
);
queriesTab.push(recup);
}//End for
const combineAll = merge(queriesTab[0], queriesTab[1], queriesTab[2]).pipe(mergeAll());
return combineAll;
【问题讨论】:
标签: angular google-cloud-firestore rxjs observable