Angular 4 Http Chain Requests
问题描述:
我无法弄清楚如何使用Http请求的结果来发出另一个Http请求。让我们用例子来说清楚; 从这个API首先,我得到的数据:Angular 4 Http Chain Requests
[{"id": 1}]
从另一个API和结果第二,我应该得到的数据是:
[{"id": 1, "name": "id labore ex et quam laborum", }]
所以我应该检查的API,如果第一个数据id =1
那么我应该张贴"id labore ex et quam laborum"
。我打开任何建议。谢谢
答
您可以使用rxjs switchMap
运算符。
只需导入:
import 'rxjs/add/operator/switchMap';
,然后用它是这样的:
this.http.get('/api/items').switchMap(data => {
// do something with your data
return this.http.get(`https://api.com/${data.id}`); // use it for example in your http request
}).subscribe(data => {
this.results = data['results'];
});
你可以找到更多关于它here。
你的问题还不清楚......据我所知,你想申请第二个姓名:id labore ex et quam labourum“如果第一个http请求,响应是> id:1,对吧? – Amit
是的,这就是如果第一个API结果是1,那么我应该发布html“id labore ex et quam labourum” – Ryoush
试试这个.http.get(url).subscribe((data)=> if(data.id == 1)this。 http.post(网址,数据)) – Amit