我正在尝试以角度4执行顺序http请求。我有一个http请求,它返回一个Observable对象,如下所示:
repos$: Observable<Repo[]>;
this.repos$ = this.candidateService.getCandidateList(); // this method performs the http request
getCandidateList(){
this.http.get<Repo[]>('https://api.github.com/user/repos', {headers});
}
每个返回的Repo对象都包含一个名为subscribers_url的字段,我需要提取并执行GET请求。有没有办法做到这一点?我尝试过使用mergeMap但它似乎没有用。
编辑:
interface Repo {
name: string;
url: string;
full_name: string;
subscribers_url: string;
}
答案 0 :(得分:0)
我认为你可以遍历返回的repos列表,并点击另一个调用传递每个repo的url,如下所示:
repos$.subscribe({
repo => {
for(var i = 0; i < repo.length; i++){
this.dynamicGetRequest(repo[i].url).subscribe({
res=>console.log(res);
})
}
}
});
dynamicGetRequest(url) {
this.http.get<any>(url, {headers});
}
答案 1 :(得分:0)
尝试这个
generateIDNumber()