有很多场景需要在多个接口返回之后再进行渲染界面,此时可以使用forkJoin在多个结果都返回时再进行下一步的操作。
具体使用方法如下:
forkJoin([
this.aService.getData(),
this.bService.getData()
]).subscribe(resArr => {
// 此时的返回结果将被按顺序放在一个数组中
aData = resArr[0];
bData = resArr[1];
}
不过使用forkJoin也存在一定的风险,需要保证多个接口都能够成功返回结果。如果有个别的接口没有成功返回,使用forkJoin不好监听具体错误。