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-behavior-with-rxjs-observables) –
在getItemList方法內部返回'Observable.forkJoin'並在你的組件中訂閱它。 – echonax