En qué consiste el método callback

Por Felipe

Publicado en:

En el mundo de la programación es habitual encontrarse con métodos o funciones comunes, independientemente del lenguaje de programación con el que se trabaje. El método callback es uno de estos términos que suelen aparecer en el mundo del desarrollo web y del software, y es muy importante para poder realizar distintas funciones de forma dinámica. 

En JavaScript, por ejemplo, el método callback es utilizado frecuentemente en la creación de distintos efectos visuales o animaciones.

En este texto, hablaremos sobre el método callback, qué es y cómo funciona.

 

Método callback: ¿qué es?

El método callback o llamada de vuelta es una función que crea una serie de reglas dentro de otra función para que puedan ser utilizadas en el futuro. Este método no actúa de forma inmediata, ya que espera al momento adecuado para ser ejecutado.

Una computadora y ordenador puede ejecutar otros métodos o funciones mientras el callback se mantiene a la espera de que se produzcan las condiciones para que se ejecute. Esta característica hace muy útil al callback, ya que no es necesario detener todo para poder ejecutarse.

 

Cómo funciona el método callback 

En JavaScript el callback se utiliza de forma habitual para realizar muchas tareas. Consiste en que una función recibe como argumento otra función, con el objetivo de ejecutarla. Cuando se pasa un callback solo se utiliza la función y no se ejecuta en el parámetro para que la función que la reciba pueda decidir cuándo ejecutarla.

En el siguiente ejemplo vemos como la función matrix recibe como argumento la función llamadadevuelta para ejecutarla cuando se considere preciso:

function matrix(llamadadevuelta) {

llamadadevuelta();

}

Que una función admite como argumento otra función es posible en JavaScript gracias a que en este lenguaje a las funciones se les considera objetos. A la función que tiene como argumento otra función se la denomina función de orden alto o high-order, mientras que la función que actúa como argumento se la denomina como llamada de vuelta o callback.

 

Por qué es importante el método callback en JavaScript

El método callback es muy importante a la hora de realizar muchas acciones, pues JavaScript es un lenguaje orientado a eventos, es decir, que muchas veces los eventos están esperando una respuesta para poder ejecutarse. Con el método callback los programas podrán ejecutarse mientras un evento puede permanecer escuchando o esperando respuesta, sin necesidad de que todos los procesos deban detenerse hasta que se produzca dicha respuesta.

 

Cuáles son los principales usos del callback

En el desarrollo web el método callback se utiliza en muchas situaciones como en la creación de APIs, lectura de archivos (ejecución de forma asincrónica), Event Listeners (cuando un evento está esperando otro evento que lo desencadene) o generalización de código.

Un claro ejemplo de la utilidad del método callback lo encontramos en los métodos de pago de una tienda online. Cuando se realiza el pago en la pasarela de pago, se produce una comunicación con la tienda virtual para comunicar que la transacción se ha realizado con éxito (esta es la función callback). Los callback garantizan que un código se ejecute cuando otro código ya ha terminado de ejecutarse.

Otra característica interesante y que hace de los callback un método muy útil en JavaScript, es que la no necesidad de estar definido en la llamada a la función, pudiendo definirse en cualquier parte del código.

 

Cuáles son las ventajas de los callback

Los principales beneficios de utilizar el método callback son:

  • -Su uso es muy simple, basta con pasar la función que se quiere ejecutar.
  • -Se pueden ejecutar en cualquier lugar al no necesitar un polyfill o transpilador (código extra para poder ser ejecutado en un navegador).

 

Qué inconvenientes tienen los callback

Hemos visto la gran utilidad de los callback en un lenguaje como JavaScript que se basa en eventos. Sin embargo, el uso del método callback tiene algunas desventajas:

  • -El código generado al utilizar callback puede llegar a ser algo caótico y desordenado (no se considera elegante el tener que pasar un null por parámetros en ciertas funciones, por ejemplo).
  • -Cuando es necesario gestionar la asincronía numerosas veces se produce una estructura anidada dentro de la función, conocida como callback hell, que complica la lectura y comprensión del código. A este problema de los callback también se le conoce como The Pyramid of Doom, por la forma triangular que presenta el código con los callback anidados.

 

 

El método callback o llamada de vuelta es utilizado constantemente en el lenguaje JavaScript para que el código siga funcionando mientras un evento espera a que se den las condiciones para ejecutarse.

JavaScript es un lenguaje asíncrono y no bloqueante por lo que es posible tener eventos esperando respuesta sin que el programa se detenga, pudiendo ejecutarse otras funciones durante este tiempo de espera hasta que se den las condiciones para ejecutar el evento.