programing

유형 스크립트에서 콜백 함수 내의 '이것'에 액세스하는 방법은 무엇입니까?

newsource 2023. 6. 19. 21:38

유형 스크립트에서 콜백 함수 내의 '이것'에 액세스하는 방법은 무엇입니까?

일단 콜백이 호출되면 클래스 시작 부분에서 선언된 변수(부울)를 true로 설정하려고 하는데 TypeScript 오류가 계속 발생합니다.

다음은 오류입니다.

TypeError: Cannot set property 'nonReceived' of undefined

내 코드는 다음과 같습니다.

  finalizeToken(){
  braintree.setup(JSON.parse(this.finalToken), 'dropin', {
     container: 'dropin-container',
     defaultFirst: true,
      form: 'checkout-form',
      onPaymentMethodReceived: function (obj) {
        this.nonReceived = true;
      localStorage.setItem('nonce', obj.nonce);
    }
  });  
}

Brintree 설정은 Braintree Payments에 연결되어 사용자 결제 정보를 기다립니다.그들이 양식을 제출하면 "this.nonReceived" 변수를 true로 설정해야 합니다.

ES5 구문을 사용하는 경우 사용할 수 있습니다.function(){}.bind(this)컨텍스트와 콜백을 바인딩하지만 Typescript를 사용하면 ES6 구문과 화살표 기능을 사용할 수 있습니다.(parameters) => {function_body}현재 컨텍스트를 암시적으로 바인딩합니다.

언급URL : https://stackoverflow.com/questions/40353503/how-to-access-this-inside-a-callback-function-in-typescript