Aparentemente, la función de devolución de llamada no se activa después de firstFunction(). ¿Qué podría estar yendo mal?

function callback () {
    console.log("this is the callback function");
}

function firstFunction () {
    console.log("this is the first function");
}

firstFunction(function () {
    callback();
});

¿Hay alguna forma de arreglar esto?

0
auditore 9 sep. 2018 a las 20:42

3 respuestas

La mejor respuesta

Como dijo Ibrahim, debe llamar a la devolución de llamada si desea que se llame :) por ejemplo:

function callback(){
    console.log("this is the callback function");

}

function firstFunction (cb){
    console.log("this is the first function");
    cb();
}


firstFunction(function () {
    callback();
});

O invocar la función directamente en el argumento:

firstFunction(function () {
    callback();
}());

EDITAR: Demasiado tarde. Lo siento. De todos modos, tal vez encuentre útil el segundo enfoque.

1
Papi 9 sep. 2018 a las 17:48

En la definición de 'firstFunction' no espera una función de devolución de llamada.

Cuando invocas 'firstFunction' estás pasando una función, por lo que quizás necesites cambiar un poco la definición. Algo como...

function firstFunction(cb){ //now is expecting a callback function as parameter
  console.log("something");
  cb(); //calls the callback function!
}

Pruébalo y comprueba las otras definiciones también.

Espero que sea de ayuda!

1
lmoglia 9 sep. 2018 a las 17:51

Pase la segunda función como parámetro

function callback() {
  console.log("this is the callback function...");
}

function firstFunction(callbackFnc) {
  console.log("this is the first function");
  callbackFnc()
}

firstFunction(callback)
1
brk 9 sep. 2018 a las 17:50