Las devoluciones de llamada son una excelente manera de manejar algo después de que se haya completado otra cosa. Por algo aquí nos referimos a la ejecución de una función. Si queremos ejecutar una función justo después de la devolución de alguna otra función, se pueden usar las devoluciones de llamada.
Las funciones de JavaScript tienen el tipo de Objetos. Entonces, al igual que cualquier otro objeto (String, Arrays, etc.), se pueden pasar como argumento a cualquier otra función durante la llamada.
Código #1:
<script> // add() function is called with arguments a, b // and callback, callback will be executed just // after ending of add() function function add(a, b , callback){ document.write(`The sum of ${a} and ${b} is ${a+b}.` +"<br>"); callback(); } // disp() function is called just // after the ending of add() function function disp(){ document.write('This must be printed after addition'); } // Calling add() function add(5,6,disp); </script>
Producción:
The sum of 5 and 6 is 11. This must be printed after addition
Explicación:
aquí están las dos funciones: agregar (a, b, devolución de llamada) y disp(). Aquí se llama a add() con la función disp(), es decir, se pasa como tercer argumento a la función add junto con dos números.
Como resultado, add() se invoca con 1, 2 y disp(), que es la devolución de llamada. El add() imprime la suma de los dos números y tan pronto como se hace, ¡se activa la función de devolución de llamada! En consecuencia, vemos lo que hay dentro de disp() como la salida debajo de la salida de suma.
Código n.º 2:
a continuación se muestra una forma alternativa de implementar el código anterior con funciones anónimas pasadas.
<script> // add() function is called with arguments a, b // and callback, callback will be executed just // after ending of add() function function add(a, b , callback){ document.write(`The sum of ${a} and ${b} is ${a+b}.` +"<br>"); callback(); } // add() function is called with arguments given below add(5,6,function disp(){ document.write('This must be printed after addition.'); }); </script>
Producción:
The sum of 5 and 6 is 11. This must be printed after addition.
Las devoluciones de llamada se utilizan principalmente al manejar operaciones asincrónicas como: realizar una solicitud de API a Google Maps, obtener/escribir algunos datos de/en un archivo, registrar oyentes de eventos y cosas relacionadas. Todas las operaciones mencionadas utilizan devoluciones de llamada. De esta manera, una vez que se devuelven los datos/errores de la operación asíncrona, las devoluciones de llamada se usan para hacer algo con eso dentro de nuestro código.