【发布时间】:2018-12-05 10:34:57
【问题描述】:
我正在使用多个服务调用进行一些级联删除。一些后来的订阅依赖于以前的订阅来完成。如何保证订阅完成,然后再转到我的下一个代码?
// Need to make sure this code completes
data.forEach(element => {
this.myService.delete(element.id).subscribe();
});
// Before running this code
this.myService.getAll().subscribe(res => {
res.data.forEach(element => {
this.myService.delete(element.id).subscribe();
});
}
);
【问题讨论】:
-
@JBNizet 查看帖子后,我不明白如何在我的场景中实现语法。
-
我链接到的副本中有一个示例。但无论如何...
const deletions = data.map(element => this.businessEventService.delete(element.id)); forkJoin(...deletions).pipe(switchMap(() => this.myService.getAll())).subscribe(...) -
@JBNizet 我认为我的问题首先是我应该在我的服务范围内完成这项工作。甚至可以在组件中使用两个单独的服务调用来执行此操作,其中每个服务发出一个 http 请求并返回一个 observable?
标签: angular typescript rxjs observable