У меня есть ситуация, когда мне нужно извлечь часть данных из хранилища в приложении Ionic 2, а затем использовать эти данные для создания HTTP-запроса. Проблема, с которой я сталкиваюсь, заключается в том, что методы SqlStorage возвращают обещания, а http meth возвращает наблюдаемые. У меня сделать что-то вроде этого, чтобы заставить его работать:Ионный 2/Угловой 2 обещание, возвращаемый наблюдаемым
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());
});
}
, а затем сделать что-то вроде этого, чтобы заставить его работать:
this.tokenService.loadStuff().then(observable => {
observable.subscribe(data => {
this.storage.set('stuff', data);
return data;
});
})
Я очень новой для угловых и ионического в общем, поэтому я чувствую, что есть намного лучший способ выполнить то, что я пытаюсь сделать, но я просто не знаю, как это сделать. Кроме того, все доступные ресурсы в отношении наблюдаемых получают очень сложно очень быстро, что оставляет впечатлительный молодой разработчик, как я, очень смущен.
Может ли кто-нибудь пролить свет на то, как это сделать лучше? Благодаря!
В 'loadStuff', это' this.http' услуга Angular2 'Http'? – yarons
Yup @yarons это. Обычная служба Http импортируется в верхней части файла и добавляется как зависимость в конструкторе моего «StuffService». – TheBrockEllis