Поймать ответ от службы к компоненту? - PullRequest
0 голосов
/ 01 мая 2019

Я новичок в угловой / ионной.Я пытаюсь получить ответ от моего вызова API.

Внутри моего сервиса у меня есть следующая функция:

setClockIn() {
    const httpOptions = {
      headers: new HttpHeaders({
        'Content-Type':  'application/json',
        'Authorization': 'bearer'
      })
    };
    this.http.get('http://127.0.0.1:8000/api/v1/clock/in', httpOptions)
    .subscribe(data => {
    console.log(data['data']);
    });
  }

И в моем компоненте у меня есть следующая функция

ClockIn() {
    this.clockService.setClockIn();
    this.presentAlert(data);
  }

Ответ от console.log(data['data']); - это мое сообщение от API:

«Часы обновлены»

Хотя как я могу получить эти данные внутри того же самогоФункция ClockIn, чтобы отправить ее в качестве параметра на this.presentAlert(data);?

Я должен использовать .subscribe() или .pipe().map()?

1 Ответ

1 голос
/ 01 мая 2019

HTTP-запрос GET HttpClient от angular возвращает наблюдаемую , поэтому в основном вы должны вернуть наблюдаемое из метода setClockIn() и подписаться на него в методе ClockIn() вашего компонента

setClockIn() {
    const httpOptions = {
      headers: new HttpHeaders({
        'Content-Type':  'application/json',
        'Authorization': 'bearer'
      })
    };

    return this.http.get('http://127.0.0.1:8000/api/v1/clock/in', httpOptions);
}


ClockIn() {
    this.clockService.setClockIn().subscribe(data => {
        console.log(data['data']);
        this.presentAlert(data);
    });  
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...