我正尝试使用forkJoin
来异步触发多个请求并将数据收集在一起。我确实这样做,但是遇到了错误
这是我的代码
https://stackblitz.com/edit/angular-3jpqrc?file=src%2Fapp%2Fapp.component.ts
(此请求不适用于https http://api.mathjs.org/v4/?expr=
)
服务代码
getcalculation(n:number){
const url = 'http://api.mathjs.org/v4/?expr='+n+'*'+n;
return this.http.get(url);
}
组件代码
ngOnInit(){
this.showAddButton = true;
for(let i =0;i <this.item.length;i++){
this.allSubScription$.push(this.dataservice.getcalculation(i));
}
forkJoin(this.allSubScription$).subscribe((result)=>{
console.log(result)
},(err)=>{
console.log(err)
})
}
在本地,我收到此错误
答案 0 :(得分:0)
实施以下代码,仅将allSubScription$
数组添加到forkJoin
中,并通过使用订阅,响应将是每个api请求的数组。
for(let i =0;i <this.item.length;i++){
this.allSubScription$.push(this.dataservice.getcalculation(i));
}
forkJoin(
this.allSubScription$
).subscribe((res) => {
console.log(res[0]);
console.log(res[1]);
console.log(res[2]);
})
我在运行api URL时遇到问题,我只是强制响应来模拟api响应。 demo