Angularjs 如何在Angular 2中嵌套API调用?

Angularjs 如何在Angular 2中嵌套API调用?,angularjs,http,angular,Angularjs,Http,Angular,我希望从一个Restful服务获取数据,然后在从另一个Restful服务获取数据时使用该数据 流程基本上是 http.get("http://service.com/firstservice") .onresponse(function(res){ http.get("http://service.com/firstservice/" + res) .onresponse(function(res){ console.log(res);

我希望从一个Restful服务获取数据,然后在从另一个Restful服务获取数据时使用该数据

流程基本上是

http.get("http://service.com/firstservice")
.onresponse(function(res){
     http.get("http://service.com/firstservice/" + res)
     .onresponse(function(res){
          console.log(res);
          // display in view
     }
}
)

如何在Angular 2中实现这一点?

您可以利用
flatMap
操作符:

return http.get("http://service.com/firstservice")
    .map(res => res.json())
    .flatMap((data) => {
      return http.get("http://service.com/firstservice/" + res);
    })
    .map(res => res.json());

如果要提取响应的JSON负载,则必须使用
map
操作符。

您可以利用
flatMap
操作符:

return http.get("http://service.com/firstservice")
    .map(res => res.json())
    .flatMap((data) => {
      return http.get("http://service.com/firstservice/" + res);
    })
    .map(res => res.json());

如果要提取响应的JSON有效负载,则必须使用
map
操作符。

有没有更直接的方法?有没有更直接的方法?