util.service.tsがエラーを処理したときに文字列を出力したいので、app.component.tsでこのメッセージを取得して表示できます私はエミッタを購読できません。 これは私のコードですが、それは動作しません:サービスで文字列を出してコンポーネントを取得するにはどうすればいいですか
ngOnInit() {
this.utilService.getNavChangeEmitter()
.subscribe(data => {
this.errMsg = data;
});
}
誰も助けることができます:私はこれを持ってapp.component.tsで
export class UtilService {
errMsgEmitter = new EventEmitter();
private handleError(error: Response | any) {
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);
this.errMsgEmitter.emit(errMsg);
return Observable.throw(errMsg);
}
/**
* get event emitter
* @returns {EventEmitter<any>}
*/
getNavChangeEmitter() {
return this.errMsgEmitter;
}
を:
util.service.tsに私?ありがとうございました
この「handleError」関数はいつ呼び出されますか? – Alex
@ AJT_82 httpサービスを必要とする人が –
であり、他のサービスによって拡張されている場合、handleErrorはベースHTTPサービスで呼び出されます –