1

在更新到 之前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错误响应?

我怎样才能像以前一样获得响应的主体?

4

0 回答 0