相关疑难解决方法(0)

如何从http.request()正确捕获异常?

我的部分代码:

import {Injectable} from 'angular2/core';
import {Http, Headers, Request, Response} from 'angular2/http';
import {Observable} from 'rxjs/Observable';
import 'rxjs/add/operator/map';

@Injectable()
export class myClass {

  constructor(protected http: Http) {}

  public myMethod() {
    let request = new Request({
      method: "GET",
      url: "http://my_url"
    });

    return this.http.request(request)
      .map(res => res.json())
      .catch(this.handleError); // Trouble line. 
                                // Without this line code works perfectly.
  }

  public handleError(error: Response) {
    console.error(error);
    return Observable.throw(error.json().error || 'Server error');
  }

}
Run Code Online (Sandbox Code Playgroud)

myMethod() 在浏览器的控制台中产生异常:

原始异常:TypeError:this.http.request(...).map(...).catch不是函数

http observable typescript angular

121
推荐指数
3
解决办法
21万
查看次数

标签 统计

angular ×1

http ×1

observable ×1

typescript ×1