Я хочу сделать запрос GET http
в моем провайдере, обернуть http
вызовом Observable.create
и вернуть объект Observable
, а затем в моем компоненте разрешить Observable
.Я пытался что-то, может кто-нибудь сказать мне, если это нормально (я не могу проверить в настоящее время, поэтому не знаю, работает ли это)?Если это не нормально, может ли кто-нибудь подсказать мне, как лучше всего использовать Ionic 3 для выполнения http-вызова и обработки ответа (успех, сбой)?
В поставщике:
public getUsers(credentials):Observable<any> {
if("some custom condition not satisfied")
return Observable.throw("ERROR);
return Observable.create(observer => {
this.http.get(API_URL + '/users').subscribe(
(response) => {
observer.next(response);
observer.complete();
},
(error)=> {
return Observable.throw(error);
});
});
}
затем в компоненте:
this.myProvider.login().subscribe(response => {
if (response.status == 403) {
this.loading.dismiss();
console.log("Access denied");
}
this.loading.dismiss();
this.nav.setRoot('MainPage');
},
error => {
this.loading.dismiss();
console.log(error);
});