With JavaScript (ECMAScript-6), when calling a method via callback , if this method uses another method the following error occurs:
Uncaught TypeError: Can not read property 'child_name' of undefined
If the method is called directly it works perfectly. But if it is called via callback does not work. If you do not have a secondary method, it works as well.
How to call callback , a method of a class, and does this method use other methods?
Below is a snippet of code reproducing the error:
class TestOne{
metodoPrincipal(str_input){
this.metodoSecundario(str_input);
}
metodoSecundario(parametro){
alert("OK: " + parametro);
}
}
function chamaViaCallback(callback, msg){
callback(msg);
}
var test_objeto = new TestOne(); // instancia o objeto
// funciona chamando diretamente um método secundário
test_objeto.metodoPrincipal('Testando método secundário chamado diretamente!');
// funciona via callback chamando diretamente o método secundário
chamaViaCallback(test_objeto.metodoSecundario, 'método único chamado via callback!');
// não funciona via callback chamando método secundário
chamaViaCallback(test_objeto.metodoPrincipal, 'método secundário chamado via callback!');