我正在for循环内进行递归调用,如何知道何时使用可观察对象或其他技术完成所有调用?以下代码可以正常工作,但是我知道有更好的方法来实现。
let assync_service_lenght = groups.length;
let assync_count = 0;
groups.forEach(group=> {
//get contacts from groups
this.serviceGroups.getGroupsPeople(group.value).subscribe(res => {
//ADD NEW CONTACT
assync_count++
if(assync_service_lenght==assync_count){
this.sendHTTP(sms);
}
});
});
答案 0 :(得分:0)
尝试这样的事情:
from(groups)
.pipe(mergeMap(group => this.serviceGroups.getGroupsPeople(group.value)))
.subscribe(
() => console.log('add new contact'),
e => console.error('error', e),
() => {
this.sendHTTP(sms);
}
);