У меня есть функция, которая вызывает сервис. После получения ответа на запрос я хочу остановить загрузку на экране и показать моему пользователю сообщение об ошибке или об ошибке. Но по какой-то причине я не могу взаимодействовать ни с одним из свойств моего класса.
Когда я отлаживаю его, код выполняется, но он не отражается в представлении. Я сделал некоторые исследования и думаю, что-то связано с этим объектом. Возможно, я как-то влияю на функцию 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
Любые идеи и предложенияДобро пожаловатьСпасибо