const five = function() { console.log(5) } const func = function(callback) { console.log(3) callback console.log(7) } func(five)Me gustaría saber por qué tengo en la salida
3 7en vez de
3 5 7Intenté poner callback() entre paréntesis y me dio error, ¿por qué?
Aunque la función está asignada a una variable, debe llamarla como una función, entre paréntesis.
const five = function() { console.log(5) } const func = function(callback) { console.log(3) callback() console.log(7) } func(five)El problema con su código es que no está llamando a la callback de llamada con paréntesis.
Para invocar una función en JavaScript, debe usar paréntesis al final, incluso si no necesita pasar ningún parámetro.
Entonces, cambie su línea de callback de llamada de esto:
callback;A esto:
callback();En resumen, este es el código completamente funcional.
const five = function() { console.log(5); } const func = function(callback) { console.log(3); callback(); // This line has been modified console.log(7); } func(five); // Should output: 3, 5, 7