pes*_*tov 2 ajax http promise angular
使用promise JS库(https://github.com/stackp/promisejs),我可以这样做:
promise.join([
promise.get('/settings'),
promise.get('/translations'),
promise.get('/main-data')
]).then(function(results) {
console.log(results);
});
Run Code Online (Sandbox Code Playgroud)
现在我需要使用Angular2来做到这一点.所以我做了一个有方法的服务getSettings,getTranslations等等-但我怎么join他们在使用该服务的组成部分?
(并以这样的方式加入它们,当且仅当所有请求都完成时 - 我将运行一个使用所有响应的功能?)
您可以使用forkJoin运算符
import {Observable} from 'rxjs/Rx';
//...some code
Observable.forkJoin(
this.http.get('/settings').map((res:Response) => res.json()),
this.http.get('/translations').map((res:Response) => res.json())
)
.subscribe(data => {
console.log(data[0], data[1]);
});
Run Code Online (Sandbox Code Playgroud)