如何在forkJoin中组合多个请求循环,是否可能?

问题描述 投票:0回答:1

我有类似的观察:

let obs1$ = of(problemsIds).pipe(flatMap(el => 
  return forkJoin(el.map(id => 
    this.projectsService.getProblemsChanges(+id)))))
let obs2$ = of(versionsIds).pipe(flatMap(el => 
  return forkJoin(el.map(id => 
    this.projectsService.getVersionById(+id)))))

然后我想让他们并行:

return forkJoin([obs1$, obs2$])

没有任何反应。

但是当我用1个盲人(任何一个人)完成它时,它就会产生结果。

为什么我不能这样结合它,我怎么能实现它?

附:我知道我必须发送请求作为ID数组,但我对此案感兴趣。谢谢

rxjs observable fork-join
1个回答
0
投票

以下应该适合你。请试试。

const obs1$ = this.problemIds.map(id => this.service.getProblemsChanges(+id));
const obs2$ = this.versionIds.map(id => this.service.getVersionById(+id));
return forkJoin(forkJoin(obs1$), forkJoin(obs2$)).subscribe(data => console.log(data));
© www.soinside.com 2019 - 2024. All rights reserved.