我需要一种运行.forEach()的方法,但我不能允许它一次遍历每次迭代。第一次迭代需要在第二次启动之前完成,第二次迭代需要在第三次启动之前完成,等等。就像现在一样,每次迭代都会同时运行并充满我的runSearchFunc()
,同时发出所有三个请求并覆盖前两个没有机会等待数据库响应的东西。所以我需要等到runSearchFunc()
完成后再运行下一次交互。
this.pinnedCollection = this.afs.collection(pinnedCollection);
this.pinned = this.pinnedCollection.valueChanges().do(item => {
item.forEach(element => {
this.var1 = element.val1;
this.var2 = element.val2;
this.runSearchFunc();
});
});
runSearchFunc(){
var placeToSearch = '...'
this.itemsCollection = this.afs.collection(placeToSearch);
this.items = this.itemsCollection.valueChanges();
}