我正在尝试按照Angular
guide向服务添加一些错误处理.
相关片段:
private handleError (error: Response | any) { // In a real world app,you might use a remote logging infrastructure let errMsg: string; if (error instanceof Response) { const body = error.json() || ''; const err = body.error || JSON.stringify(body); errMsg = `${error.status} - ${error.statusText || ''} ${err}`; } else { errMsg = error.message ? error.message : error.toString(); } console.error(errMsg); return Observable.throw(errMsg); }
但是,我收到了一个TypeScript错误:
错误TS2339:类型“”“|中不存在属性”错误“无极<任何>”.
类型“”“上不存在属性”错误“.
我能理解它为什么会发生 – error.json()返回一个Promise< any>然后使用body.error的后续行将无法工作,因为没有error属性.但是,似乎应该期望从.json()返回JSON对象.为什么会这样,而我错过了Angular指南不是什么?
同样的事情发生在我身上.无法导入Response对象时会发生这种情况.
import { Response } from '@angular/http';