Я пытаюсь вызвать другую функцию из обратного вызова, но она ничего не делает, даже если обратный вызов выполнен.Что может быть?
Это React Native, хотя в этом коде шлюза платежей JSX не задействован:
var conektaApi = new Conekta();
conektaApi.setPublicKey('key_CWraZrrnBCZ5aFP6FtYNz9w');
conektaApi.createToken({
cardNumber: '4242424242424242',
name: 'Manolo Virolo',
cvc: '111',
expMonth: '11',
expYear: '21',
}, function(data){
this.callAnotherFunction()
//I also tried anonymous function and arrow
// ()=>{ callAnotherFunction}
}, function(){
console.log( 'Error!' );
})
}
Ни в коем случае мне не удается выполнить другую функцию в случаеуспех.В github вы можете найти js-код модуля Conekta, который на самом деле является очень простым кодом, но я не могу определить, что происходит или как это исправить.
Я думаю, что проблема в индексе.js зависимости Conekta:
модуль Conekta js
Содержит index.js Conekta:
/**
* @providesModule Conekta
*/
'use strict';
// RNConekta
const RNConekta = require('react-native').NativeModules.RNConekta;
const Platform = require('react-native').Platform;
var Conekta = function() {
this.publicKey = false;
};
/**
* Params:
* publicKey: String (Your testing or production Public Key)
*/
Conekta.prototype.setPublicKey = function(publicKey: String) {
this.publicKey = publicKey;
};
/**
* Params:
* info = {
* cardNumber: String
* name: String
* cvc: String
* expMonth: String
* expYear: String
* }
*/
Conekta.prototype.createToken = function(info: Object, success: Function, error:Function) {
info.publicKey = this.publicKey;
RNConekta.createToken(info, function(response){
if ( Platform.OS === 'android' ) {
success( JSON.parse( response ) );
} else {
success( response );
}
}, error);
};
module.exports = Conekta;