Как получить значение от услуги в IONIC 4? - PullRequest
0 голосов
/ 23 сентября 2019

Я разрабатываю приложение на IONIC, которое получает значения из базы данных через API в Laravel, я получаю значение в службе, но не могу передать это значение на другую страницу, где я вызываю службу

Моя функция в сервисе выглядит следующим образом:

get(){
const headers = new HttpHeaders({
      'Authorization': this.token["token_type"]+" "+this.token["access_token"]
    });
return new Promise ((resolve)=>{
     this.http.get(this.env.API_URL+'auth/get',{ headers: headers }).subscribe((result:any)=>{
      this.date = result; //thats ok
      console.log(this.date);
      return this.date;
    },
    (error)=>{
      console.log(error);
    });
   });
}

Функция, которую я называю Сервисом, такова:

showdata(){
this.authService.getReuniao().then((response)=>
    {
      this.data_r = response;
    })
    .catch((response)=>{
      this.data_r = JSON.stringify(response);
    });
console.log('didn't enter...');
}

Но тогда она даже не приходит и падает прямовне.Я правильно понял ???

1 Ответ

0 голосов
/ 23 сентября 2019

Попробуйте следующим образом.

getReuniao(): Observable<any> {

return this.http.get<any>( this.env.API_URL+'auth/getreuniao')
.pipe(
retry(1),
catchError(this.handleError)
)           

};Работа с ошибками в том же service.ts:

handleError(error) {
let errorMessage = '';
if(error.error instanceof ErrorEvent) {
// Get client-side error
errorMessage = error.error.message;
} else {
// Get server-side error
errorMessage = `Error Code: ${error.status}\nMessage: ${error.message}`;
}
window.alert(errorMessage);
return throwError(errorMessage);
}

Теперь давайте вызовем службу API.Не забудьте добавить услугу к провайдерам и назвать ее на конструктиве.

this.api.getReuniao().subscribe(data=>{ console.log("data:" + data)}, error=>{ console.log("error: " + error});

Используйте подписку вместо с наблюдаемым.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...