【问题标题】:Multiple ajax call in angular2angular2中的多个ajax调用
【发布时间】:2017-07-18 13:28:48
【问题描述】:

我想在 angular2 中写下面的 jquery 代码。我该怎么做?

$.when($.ajax("url"), $.ajax("/url2"))
  .then(myFunc, myFailure);

and

$.when( $.ajax("/req1"), $.ajax("/req2"), $.ajax("/req3") ).then(function(resp1, resp2, resp3){ 
    // plot graph using data from resp1, resp2 & resp3 
});

【问题讨论】:

标签: angular


【解决方案1】:

首先你已经学会了如何使用 Angular Http 模块。

然后学习如何使用 RxJS 来组合/加入你的 http 请求。

参考http:https://angular.io/tutorial/toh-pt6 forkJoin 参考:https://github.com/Reactive-Extensions/RxJS/blob/master/doc/api/core/operators/forkjoin.md

let request$ = this.http.get('https://yourapi/api/').map(res => res.json());
let request2$ = this.http.get('http://another/api2').map(res => res.json());

Observable.forkJoin([request$, request2$]).subscribe(results => {

});

【讨论】:

  • 谢谢,你能告诉我,如何将结果数据用于不同的组件 abc.component.ts, bcd.component.ts(这里,第一个组件需要响应第一个请求,第二个组件需要响应第二个请求等等)
  • 很大程度上取决于您将如何构建组件,但我认为您需要编写一个用于获取 http 响应的服务,然后为每个组件注入一个服务。但是,如果 2 个不同的组件需要不同的数据,我不认为在这里组合响应是有利可图的。也许您希望在渲染任何图形之前获取所有数据?
猜你喜欢
  • 1970-01-01
  • 2016-01-06
  • 2018-02-28
  • 1970-01-01
  • 2011-05-21
  • 1970-01-01
  • 2011-02-04
  • 1970-01-01
相关资源
最近更新 更多