Angular 4 Http Chain Requests

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"。我打开任何建议。谢谢

+0

你的问题还不清楚......据我所知,你想申请第二个姓名:id labore ex et quam labourum“如果第一个http请求,响应是> id:1,对吧? – Amit

+0

是的,这就是如果第一个API结果是1,那么我应该发布html“id labore ex et quam labourum” – Ryoush

+0

试试这个.http.get(url).subscribe((data)=> if(data.id == 1)this。 http.post(网址,数据)) – Amit

您可以使用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