Jestem nowicjuszem pojęć obserwowalnych i potrzebuję pomocy przy konwersji.
Mam usługę, która zwraca Observable<Response>
z żądania Http, ale muszę go przekonwertować do Observable<PriceTag>
, aby go użyć na DataSource
wewnątrz metody connect.
Czy mimo to można to zrobić?Angular 4, konwersja odpowiedzi http obserwowalnej do obserwowanego obiektu
Jest to metoda z moich usług:
getPriceTags(): Observable<Response> {
// Set the request headers
const headers = new Headers({ 'Content-Type': 'application/json' });
// Returns the request observable
return this.http.post(Constants.WEBSERVICE_ADDRESS + "/priceTag", null, {headers: headers});
}
I tu jest klasa DataSource gdzie muszę zwrócić go jako Observable<PriceTag>
:
export class PriceTagDataSource extends DataSource<PriceTag> {
constructor (private priceTagService: PriceTagService) {
super();
}
connect(): Observable<PriceTag> {
// Here I retrieve the Observable<Response> from my service
const respObs = this.priceTagService.getPriceTags();
// Now I need to return a Observable<PriceTag>
}
disconnect() {}
}
Oto przykład z odpowiedzi od mojego żądanie:
{
// This object is used to check if the query on the server was sucessful
"query": {
"sucessful": true
},
// These are my PriceTags
"tags": [
{
"id": "1",
"name": "MAIN"
},
{
"id": "2",
"name": "CARD"
}
]
}
Czy jedną z odpowiedzi pomóc? –