Используйте Observable и HttpClient в приложении Ionic 3 - PullRequest
0 голосов
/ 01 октября 2018

Я хочу сделать запрос 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);
      });
...