可观察方法
getAll(): Observable<any[]> {
return this._http.get('/api/getall' )
.map((response: Response) => <any[]>response.json())
.do(data => console.log("All: " + JSON.stringify(data)))
.catch(this.handleError);
}
处理错误方法
private handleError(error: any) {
if (error.status === 401) {
this._router.navigate(["/login"]);
{
return Observable.throw(error.json().error || 'Server error');
}
}
答案 0 :(得分:4)
如果您想在this
中使用handleError
,则需要以不同方式传递此功能
getAll(): Observable<any[]> {
return this._http.get('/api/getall' )
.map((response: Response) => <any[]>response.json())
.do(data => console.log("All: " + JSON.stringify(data)))
.catch(this.handleError.bind(this));
// .catch(err => this.handleError(err));
}
答案 1 :(得分:1)
我改变后
node.js
到
.catch(this.handleError.bind(this));
这项工作正常
感谢@günter-zöchbauer