Mam sytuację, w której muszę pobrać dane z pamięci w aplikacji Ionic 2, a następnie użyć tych danych do utworzenia żądania HTTP. Problem, na który napotykam, polega na tym, że metody SqlStorage zwrócą obietnice, a metoda http meth zwraca obserwowalne dane. Mam zrobić coś takiego, aby zmusić go do pracy:Ionic 2/Angular 2 obiecująca powracająca obserwowalna
getToken() {
return this.storage.get('token').then((token) => {
this.token = token;
return token;
});
}
loadStuff(){
return this.tokenService.getToken().then(token => {
return this.http.get("https://www.urltodatasource.com/api/v1/Endpoint?access_token="+token).map(res => res.json());
});
}
a potem robi coś takiego, aby zmusić go do pracy:
this.tokenService.loadStuff().then(observable => {
observable.subscribe(data => {
this.storage.set('stuff', data);
return data;
});
})
Jestem bardzo nowy kątowe i jonowe ogólnie, więc czuję, że jest o wiele lepszy sposób na zrealizowanie tego, co próbuję zrobić, ale po prostu nie wiem jak. Poza tym wszystkie dostępne zasoby o obserwowalnych obiektach bardzo szybko stają się bardzo skomplikowane, co sprawia, że młody młody programista, taki jak ja, jest bardzo zdezorientowany.
Czy ktoś może rzucić trochę światła na to, jak to zrobić lepiej? Dzięki!
W 'loadStuff', czy' this.http' jest usługą Angular2 'Http'? – yarons
Tak jest. Zwykła usługa Http jest importowana u góry pliku i dodawana jako zależność w konstruktorze mojej "StuffService". – TheBrockEllis