Не удается получить доступ к свойствам класса внутри обещания в угловых - PullRequest
0 голосов
/ 08 октября 2019

У меня есть функция, которая вызывает сервис. После получения ответа на запрос я хочу остановить загрузку на экране и показать моему пользователю сообщение об ошибке или об ошибке. Но по какой-то причине я не могу взаимодействовать ни с одним из свойств моего класса.

Когда я отлаживаю его, код выполняется, но он не отражается в представлении. Я сделал некоторые исследования и думаю, что-то связано с этим объектом. Возможно, я как-то влияю на функцию this, а не на класс this.

Вот мой код:

function:

enviaDados() {

  this.pagamentoService.store.(this.data, this.id).toPromise().then((response) => {
    console.log(response, 'response')
    this.loading = false;

    if(response['status'] === 200) {
      this.message = 'Seus dados foram recebidos e o pagamento está sendo processado. Fique de olho no seu email.'
    }

  }).finally(() => {
    debugger;
    this.loading = false;
  })
}

Служба:

public store (data, token){

let headers = new HttpHeaders({
  'Content-Type': 'application/json',
  'Authorization': 'bearer ' + token
});

let options = { headers: headers, observe: 'response' as 'body' };

let body = JSON.stringify(data);
return this.http.post(this.url+'payment', body, options);

}

Я пытался использовать функцию связывания, чтобы передать функцию this, но когда я это сделал, моя функция не вызывается. Я, наверное, поступаю неправильно.

Вы можете увидеть полную версию моего компонента здесь: https://github.com/vmussato/payment-test/blob/master/src/app/components/payment/payment.component.ts

И мой сервис здесь: https://github.com/vmussato/payment-test/blob/master/src/app/pagamento.service.ts

Любые идеи и предложенияДобро пожаловатьСпасибо

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