유형 스크립트에서 콜백 함수 내의 '이것'에 액세스하는 방법은 무엇입니까?
일단 콜백이 호출되면 클래스 시작 부분에서 선언된 변수(부울)를 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
'programing' 카테고리의 다른 글
EF4 - 선택한 저장 프로시저가 열을 반환하지 않습니다. (0) | 2023.06.24 |
---|---|
IIS 7에서 하위 도메인을 설정하는 방법 (0) | 2023.06.24 |
ORA-01031 가져오기: ORA-00942 대신 테이블을 쿼리하는 동안 권한이 부족합니다. 테이블 또는 보기가 없습니다. (0) | 2023.06.19 |
구성 요소에서 getStaticProps 사용 (0) | 2023.06.19 |
VS 2008은 ASPX 코드를 계속 제거하고 다시 추가합니다. (0) | 2023.06.19 |