视图中的数据在Angular5中的第二个事件之后加载

时间:2018-04-10 11:13:01

标签: angular angular-promise angular-httpclient

您好我已将Angular2应用程序升级为Angular5,我在其余调用(POST和GET)中使用了promises和observable,之前工作正常并且它目前在我的大部分组件中工作,但在一个组件所有数据都是通过单个请求获取的,但在调用下一个事件之前它不会显示在视图中。任何人有任何想法,我认为这是由于HTTP,所以我已经将其更改为HTTPClient仍然是相同的问题araise。这是我的承诺代码。

headers: HttpHeaders;
constructor(private http: HttpClient) {
if (AppConfig.getHttpHeader() !== null) {
  this.headers = AppConfig.getHttpHeader()
 };
}


getService(url: string): Promise<any> {
return this.http
  .get(url, {observe: 'response', headers:this.headers})
  .toPromise()
  .then(this.extractData)
  .catch(this.handleError);
}


postService(url: string, bodyParam: any): Promise<any> {
return this.http
  .post(url, bodyParam, {observe: 'response', headers:this.headers})
  .toPromise()
  .then()
  .catch(this.handleError);
}


extractData(res: HttpResponse<Object>) {
const body = res.body;
return body || {};
}

private handleError(error: any): Promise<any> {
console.error('An error occurred', error);
return Promise.reject(error.message || error);

}

0 个答案:

没有答案