2017-07-18 17 views
1

angle2のjqueryコードの下に書きたいと思います。どうやってやるの?angular2の複数のajax呼び出し

$.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 
}); 
+1

https://stackoverflow.com/questions/34405039/combining-promises-in-angular-2 – yurzui

+0

可能な重複角度2](https://stackoverflow.com/questions/34405039/combining-promises-in-angular-2) – CozyAzure

答えて

1

まず、Angular Httpモジュールの使い方を学んでください。

次に、RxJSを使用してhttpリクエストを結合/参加する方法を学びます。 HTTPの

参考:forkJoinためhttps://angular.io/tutorial/toh-pt6 リファレンス:[に約束を組み合わせるの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 => { 

}); 
+0

ありがとうございます、別のコンポーネントに結果データを使用する方法を教えてくださいabc.component.ts、bcd .component.ts(ここでは、最初のコンポーネントは最初の要求に対して応答を必要とし、2番目のコンポーネントは2番目の要求に対して応答を必要とするなど) –

+0

どのようにコンポーネントを構造化するかについては終わりですが、http応答を取得するためのサービスを作成し、コンポーネントごとにサービスを注入する必要があると思います。 しかし、2つの異なるコンポーネントが異なるデータを必要とする場合、ここで回答をどのように組み合わせることが収益性が高いとは思わないでしょう。おそらく、グラフをレンダリングする前に、すべてのデータをフェッチする必要がありますか? –

関連する問題