【发布时间】:2019-04-05 06:32:59
【问题描述】:
我使用间隔在 forEach 循环中将可变数量的数据发布到后端。我要做的是:如果post方法的第一次调用没有完成但间隔已经想第二次调用该方法,则应该阻塞调用,直到第一次调用完成。
我尝试在代码中显示这一点
setInterval(() => {
console.log('pendingServiceDataRequests', this.pendingServiceDataRequests);
if(/* if pendingServiceDataRequests is empty or all subscriber are finished */){
this.sendData();
}
}, 5000);
sendData(){
serviceList = [/* some data */]
serviceList.forEach((service, index, array) => {
const currentSub = this.api.post(url, service).subscribe((res: any) => {
/* delete successful send data */
}
this.pendingDataRequests.push(currentSub);
});
}
我将所有订阅者放在一个列表中,但我不知道如何检查所有请求是否都已完成
【问题讨论】:
标签: angular post foreach angular5 subscriber