angular – 类型’“”|中不存在属性’错误’诺言’

前端之家收集整理的这篇文章主要介绍了angular – 类型’“”|中不存在属性’错误’诺言’前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试按照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';

猜你在找的Angularjs相关文章