Reputation: 851
I tried to transform data before resolve by such way, but subscriber gets non-transformed data.
@Injectable()
export class OrderService {
getAll(): Observable< Array<Order> > {
let url = 'http://fakeapi.com';
return this.http.get( url )
.pipe(
tap( (data: any) => {
/*
* MAKE DATA TRANSFORMATIONS HERE
*/
}),
catchError( (err: any, caught: Observable<{}>) => {
console.log('error while GET : ' + url);
console.warn(err);
return caught;
})
);
}
}
here is a subscriber:
this._orderService.getAll().subscribe( data => {
this.orders = data;
console.log('\nplanning-overview-page : _orderService.getAll : data ', data);
});
Upvotes: 4
Views: 7837
Reputation: 29335
map is the operator for transforming a value in an observable stream, and you have to make sure it returns a value.
map(data => {
// do your transformations
return data;
});
Upvotes: 7