在使用Http服务的Angular 2文档页面上,有一个例子。
getHeroes (): Observable<Stuff[]> { return this.http.get(this.url) .map(this.extractData) .catch(this.handleError); }
我克隆了angular2-webpack-starter项目,自己添加了上面的代码。
我导入了Observable使用
从“rxjs / Observable”导入{Observable};
我假定属性Observable也被导入(.map)。看到rxjs.beta-6的changelog,没有提到catch。
是的,您需要导入运算符:
import 'rxjs/add/operator/catch';
或以这种方式导入Observable:
import {Observable} from 'rxjs/Rx';
但在这种情况下,您将导入所有运算符。
有关详细信息,请参阅此问题:
> Angular 2 HTTP GET with TypeScript error http.get(…).map is not a function in [null]