Funciones de devolución de llamada en JavaScript

En JavaScript, los programadores pueden definir unidades de código, incluidas variables y funciones. Las funciones de JavaScript también pueden recibir parámetros, con el código llamando a una función pasando estos parámetros como variables o valores. También es posible pasar una referencia a otra función como parámetro. Una función de devolución de llamada suele ser aquella que se llama cuando otra función termina de ejecutarse. Por esta razón, las funciones de devolución de llamada a menudo aparecen como parámetros para otras funciones.

Definición de devolución de llamada

Para implementar una función de devolución de llamada, el código JavaScript en una página primero debe definir la función. El siguiente código de muestra define una función y almacena una referencia variable a ella: var callbackDefinition = function (numParam) {alert (numParam); };

La función utiliza un parámetro numérico para la demostración. La función de devolución de llamada puede contener cualquier código JavaScript que pueda incluir una función estándar. El código ahora podrá pasar una referencia a la función como parámetro a otra función, usando el nombre de la variable.

Parámetro de devolución de llamada

Una vez que un script tiene una función definida como variable, puede pasar esa variable como parámetro a otra función. El siguiente código de muestra demuestra la técnica: mainFunction (10, callbackDefinition);

Este código llama a una función con nombre, pasando un parámetro numérico y el nombre de la variable que almacena el código de la función de devolución de llamada. El esquema de la función que se llama aquí debe coincidir con estos dos parámetros. La función que recibe la variable de devolución de llamada podrá llamar a la función que almacena.

Ejecución de funciones

Una vez pasada a la función principal, se puede ejecutar una función de devolución de llamada. El siguiente código de muestra lo demuestra: function mainFunction (myNum, callbackFn) {alert (myNum); callbackFn (myNum * 2); }

A modo de demostración, este código primero genera una alerta de JavaScript que hará que aparezca un cuadro de diálogo en el navegador del usuario. Una vez que este código se ejecuta, la función llama a la función de devolución de llamada utilizando el nombre especificado como parámetro. La llamada a la función de devolución de llamada incluye un parámetro numérico, que es esperado por la función que se definió inicialmente como una variable.

Llamada de función

Una vez que una página tiene una función definida, incluida una devolución de llamada, puede ejecutar este código. A menudo, los desarrolladores indican al navegador que escuche un evento de usuario, ejecutando funciones cuando esto ocurre. Por ejemplo, el siguiente código HTML llama a una función: Aquí hay una sección en la que se puede hacer clic

Si la función especificada como parámetro contiene la definición de la variable de devolución de llamada y la llamada a la función principal, esto creará el efecto de devolución de llamada, de la siguiente manera: function doCallback () {var callFn = function (numParam) {alert (numParam); }; mainFunction (10, callFn); }

Una vez que la función principal ejecuta su propio contenido de código, llama a la función de devolución de llamada.