In my application I have some methods returning an Observable:
public myMethodReturningObs(...): Observable {
return this.http.get(...); // this will return an Observable
}
then I call this method in several places around my application:
this.service.myMethodReturningObs().subscribe(
(data) => { /* do something with data */ },
(error) => { console.log('Error!'); }
);
// ...
this.service.myMethodReturningObs().subscribe(
(data) => { /* do something else with data */ },
(error) => { console.log('Error!'); }
);
I was wondering if there is a way inside myMethodReturningObs(...)
to attach the a default error handling function, which in my example would be console.log('Error!');
, so I don't have to repeat it every time I subscribe to the Observable returned by myMethodReturningObs(...)
.
Ideally I need something like:
public myMethodReturningObs(...): Observable {
return this.http.get(...)
.onError({ console.log('Error!'); }); // this will return an Observable
}
so then I can just do:
this.service.myMethodReturningObs().subscribe(
(data) => { /* do something with data */ }
);
// ...
this.service.myMethodReturningObs().subscribe(
(data) => { /* do something else with data */ }
);
You can catch error in base observable, log it and propogate further