Angular2 httpClient - 你如何获得内容体?

时间:2017-09-27 10:42:44

标签: javascript angular typescript angular4-httpclient

在我更新到HttpClient之前,我使用Http类并使用以下代码加载数据。

get(): Promise<Account> {
    return this.http.get(this.apiUrl)
        .toPromise()
        .then((response) => response.json())
        .catch(this.handleError);
}

private handleError(error: any) {
    // do nothing for unauthorized user, as should be handles on component
    if (error.status != '401') {
        console.error('An error occurred', error);
    }

    return Promise.reject(error._body || error);
}

如果服务器出错500或400(验证),我可以通过我的.catch处理程序从服务器返回文本。

现在我已更新使用HttpClient,我的代码已更改为此

get(): Promise<Account> {
    return this.httpClient.get<Account>(this.apiUrl)
        .toPromise()
        .catch(this.handleError);
}

private handleError(error: any) {
    // do nothing for unauthorized user, as should be handles on component
    if (error.status != '401') {
        console.error('An error occurred', error);
    }

    return Promise.reject(error._body || error);
}

正如您所看到的,只有get方法已更改,但现在我无法获得错误响应的_body

我怎样才能像以前那样得到回应的主体?

0 个答案:

没有答案