0
我想在我的數據和過濾器數據請求完成時選中複選框。如何檢查我的所有請求是否已完成,然後調用該方法。如何在Angular 2中完成所有http請求時調用方法
我想在我的數據和過濾器數據請求完成時選中複選框。如何檢查我的所有請求是否已完成,然後調用該方法。如何在Angular 2中完成所有http請求時調用方法
首先看看RxJs的Observable.forkjoin以及Observables如何工作。
下面是一些示例代碼,應該讓你開始:
const urls = ['myUrl1', 'myUrl2'];
const requestArray = makeMultipleRequest(this.observableArr(urls));
observableArr = queryUrls => queryUrls.map((url) => this.httpRequest(url));
makeMultipleRequest = (requestArr) => Observable.forkJoin(requestArr);
httpRequest = (url) => this.http.get(url).map((res) => res.json())
.catch((err) => handleError())
requestArray.subscribe((data) => {
// Do what you want with the results from your requests
});
不要忘了import { Observable } from 'rxjs/Rx';
而import { Http } from '@angular/http';
好運
你可以添加你在哪裏發出HTTP請求的代碼 –
我從不同的API獲取數據。我想在完成所有api數據後調用該方法。 –
是的。所以你可以在你調用所有這些apis的地方添加代碼。 –