是否可以使用数组中的多个链接进行 API get 调用,并将其结果收集到对象数组中。
假设sampleArr是一个链接数组
sampleArr = [
"https://api.abc.com/users/xut",
"https://api.abc.com/users/yre",
"https://api.abc.com/users/wer",
"https://api.abc.com/users/cdw"
]
我正在使用此 UserService 进行 API 调用
this.userService.getUser(sampleArr)
.subscribe(data => console.log(data)) // should log an array of the results
用户服务
getUser(url: string): Observable<any> {
return this.http.get<User[]>(url)
}
最佳答案
您可以尝试使用forkJoin
或combineLatest
运算符。
试试这个:
import { combineLatest } from 'rxjs';
combineLatest(
...sampleArr.map(url => this.userService.getUser(url)),
// this.userService.getUser("https://api.abc.com/users/xut"), this.userService.getUser("https://api.abc.com/users/yre"),....
).subscribe(arrayOfResults => {
console.log(arrayOfResults);
});
关于javascript - 将多个 api 链接传递到服务中并将所有结果放入数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60461478/