AngularJS에서는 return $q.all(promises)
컨트롤러에 promise를 반환하는 데 사용할 수 있습니다 . 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
}
)
}
}
@echonax의 답변으로 해결했습니다. 반환 Observable.forkJoin
및 subscribe
구성 요소.
서비스:
getItemList(): Observable <Item[]> {
return Observable
.forkJoin(
this.http.get(url1).map(res => res.json()),
this.http.get(url2).map(res => res.json())
)
}
구성 요소:
ngOnInit(): void {
this.getItemListService.getItemList()
.subscribe(data => {
console.log(data)
})
}
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다