0
AngularJSでは、return $q.all(promises)
を使用してコントローラに約束を返すことができます。 Angularでそれを行う正しい方法は何ですか?どのようにデータをコンポーネントに返すことができますか?Angularサービスで複数の非同期呼び出しの結果を返す方法
私のサービスは:
import { Injectable } from '@angular/core';
import { Http } from '@angular/http';
import { Observable } from 'rxjs/Rx';
import { Item } from '../item';
@Injectable()
export class GetItemListService {
constructor(private http: Http) { }
private url1 = 'urlToGetItemList1';
private url2 = 'urlToGetItemList2';
getItemList(): ??? <Item[]> {
Observable
.forkJoin(
this.http.get(url1).map(res => res.json()),
this.http.get(url2).map(res => res.json())
)
.subscribe(
data => {
// this is the result I want to return to component
return data
}
)
}
}
あなたは、入力および出力として期待するものの例を与えることができますか?これはhttps://stackoverflow.com/questions/35608025/promise-all-behavior-with-rxjs-observablesに非常によく似ています – 0mpurdy
[Promise.allビヘイビアとRxJS Observablesの重複の可能性がありますか?](https://stackoverflow.com)/questions/35608025/promise-all-behaviour-with-rxjs-observables) –
は 'getItemList'メソッドの中の' Observable.forkJoin'を返し、あなたのコンポーネントの中でそれを購読します。 – echonax