无法访问promise中的类属性

时间:2019-10-08 15:58:23

标签: angular typescript angular8

我有一个调用服务的函数。收到请求的响应后,我想在屏幕上停止加载并向用户显示成功或错误消息。但是出于某些原因,我无法与班级的任何属性进行互动。

当我调试它时,代码已执行,但未反映在视图中。我进行了一些研究,并认为它与此对象有关。我可能会以某种方式影响此功能而不是此类。

这里有一些代码:

功能:

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);

}

我尝试使用bind函数将此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

欢迎任何想法和建议。谢谢

0 个答案:

没有答案