【发布时间】:2017-01-11 06:51:05
【问题描述】:
我有这样的服务:
@Injectable()
export class AuthService {
private contentHeader: Headers = new Headers({"Content-Type": "application/json", "Accept": "application/json"});
constructor(public events: Events, private authHttp: AuthHttp){
}
public get(url): Observable<any> {
return this.authHttp.get(url, { headers: this.contentHeader })
.map(this.extractData)
.catch(this.handleError);
}
public extractData(res: Response) {
try {
let body = res.json();
return body || {};
}
catch (e) {
return {};
}
}
public handleError(error: any) {
if (error.status == 401 || error.status == 403)
{
// injected
this.events.publish('user:logout');
}
return Observable.throw(error);
}
}
this.events 在 handleError 中不起作用并在控制台中触发此错误:EXCEPTION: TypeError: this.events is undefined
如何在可观察的地图和捕获部分中使用依赖注入的服务?
【问题讨论】:
标签: angular typescript ionic2