Ja­va­S­cri­pt es uno de los lenguajes más populares para crear sitios web. Las po­si­bi­li­da­des que ofrece este lenguaje de se­cue­n­cias de comandos se apro­ve­chan para diseñar páginas in­ter­ac­ti­vas que sean capaces de reac­cio­nar a las so­li­ci­tu­des. Para ello, se emplean variables, objetos y funciones en el marco del lenguaje. Todos ellos pueden recurrir los unos a los otros y siempre reflejan el mismo resultado en di­fe­re­n­tes na­ve­ga­do­res. Detrás de la mayoría de los botones o las pantallas de contenido que aparecen en un momento de­te­r­mi­na­do en los sitios web, se encuentra una función callback.

Sin embargo, las funciones de este tipo no son ex­clu­si­vas de Ja­va­S­cri­pt: otros lenguajes de pro­gra­ma­ción conocidos, como C, Java, PHP o Python, también utilizan el callback para pasar ciertos pa­rá­me­tros de usuario de la forma más fácil.

Dominios web
Compra y registra tu dominio ideal
  • Tu dominio protegido con Ce­r­ti­fi­ca­do SSL Wildcard gratis
  • Función Domain Connect para una co­n­fi­gu­ra­ción DNS si­m­pli­fi­ca­da gratis
  • Registro privado y gratis para mayor seguridad

¿Qué es un callback?

Las funciones siempre se re­fe­re­n­cian a de­te­r­mi­na­dos pa­rá­me­tros. Si asignas una función como parámetro a otra función, ha­bla­re­mos de un callback. Las funciones callback suelen uti­li­zar­se mucho en bi­blio­te­cas y fra­me­wo­r­ks, como las apli­ca­cio­nes Ja­va­S­cri­pt jQuery, Angular o node.js. Estas apli­ca­cio­nes son adecuadas para crear funciones ex­te­n­si­bles y se ejecutan úni­ca­me­n­te después de que tenga lugar otro evento o ci­r­cu­n­s­ta­n­cia.

¿Cómo funciona un callback?

La función callback siempre tiene un efecto de­te­r­mi­na­do que está re­la­cio­na­do con ciertas ci­r­cu­n­s­ta­n­cias. En otras palabras, solo se invoca si ha tenido lugar otra acción cla­ra­me­n­te definida. Un buen ejemplo de función callback son los co­n­tro­la­do­res de eventos, que se utilizan, por ejemplo, en elementos HTML como los botones. El evento podría ser un clic del ratón que hace que se ejecute el callback, y la función en sí misma podría provocar el re­di­re­c­cio­na­mie­n­to a otra página o tra­n­s­mi­tir un valor que se haya in­tro­du­ci­do en un fo­r­mu­la­rio.

La principal di­fe­re­n­cia entre una función normal y un callback sería la siguiente: si bien una función normal se ejecuta di­re­c­ta­me­n­te, la función callback solo se define y se llama y ejecuta úni­ca­me­n­te cuando ocurre un evento concreto. Como hemos me­n­cio­na­do, las funciones callback se utilizan en numerosos lenguajes de pro­gra­ma­ción y, aunque la sintaxis y la es­tru­c­tu­ra de los métodos difieren, sus pri­n­ci­pios se mantienen en todos los lenguajes.

Función callback en Ja­va­S­cri­pt

Las funciones callback son am­plia­me­n­te uti­li­za­das en la pro­gra­ma­ción con Ja­va­S­cri­pt. Puede tratarse, por ejemplo, de una función que se ejecuta al pulsar un botón o de algún contenido re­la­cio­na­do con una función se­t­Ti­meout (), que provoca un retraso de tiempo.

Un ejemplo simple de un callback en Ja­va­S­cri­pt sería un botón común y corriente:

document.getElementById("Button1").addEventListener("click", function() {
console.log("Se ha pulsado el botón");
}, false);

En este ejemplo, se utiliza un Eve­ntLi­s­te­ner como callback que se activa cuando se produce un de­te­r­mi­na­do evento; en este caso, hacer clic en el botón ide­n­ti­fi­ca­do como “Button1”. En cuanto se hace clic en el botón y se cumplen las co­n­di­cio­nes para la función callback, esta se ejecuta y el terminal emite el mensaje “Se ha pulsado el botón”. Para ga­ra­n­ti­zar la co­m­pa­ti­bi­li­dad con versiones an­te­rio­res del navegador, en el ejemplo también se utiliza el parámetro “false”.

Función callback en PHP

En PHP, las funciones callback se ejecutan de manera similar a Ja­va­S­cri­pt. Sin embargo, en este lenguaje de se­cue­n­cias de comandos, las funciones callback también pueden ser métodos de un objeto, incluidos los métodos de clase estática.

Este sería un ejemplo de una función clásica de callback en PHP:

function my_callback_function() {
	echo '¡Hola, mundo!';
}

Al llamar esta función, se genera el string “¡Hola, mundo!”. Para ejecutar al callback como método, procede de la siguiente manera:

class MyClass {
	static function myCallbackMethod() {
		echo '¡Hola, mundo!';
	}
}

En PHP, los callbacks son un método muy utilizado para que las funciones se co­mu­ni­quen entre sí. Suelen emplearse para im­ple­me­n­tar plugins o módulos de manera limpia y para ga­ra­n­ti­zar su fu­n­cio­na­li­dad.

Funciones callback en Python

Python es uno de los lenguajes de pro­gra­ma­ción más populares debido a su simple sintaxis. Gracias a la ve­r­sa­ti­li­dad que ofrece, tanto en software, como en hardware, este lenguaje es perfecto para iniciarse en la pro­gra­ma­ción. Se utiliza es­pe­cia­l­me­n­te en los ámbitos de la ciencia de datos y el apre­n­di­za­je au­to­má­ti­co y presenta muchas ventajas sobre otros lenguajes.

En Python, el callback se utiliza pri­n­ci­pa­l­me­n­te para asignar di­fe­re­n­tes eventos a elementos de la interfaz de usuario. En el siguiente ejemplo, se definen dos funciones, es decir, el callback “get_square” y la llamada “caller”. Fi­na­l­me­n­te, se ejecuta el callback:

>>> def get_square(val):
		return val ** 2
>>> def caller(func, val):
		return func(val)
>>> caller(get_square, 5)

La sintaxis de la función callback es muy sencilla, similar a la de Ja­va­S­cri­pt y PHP.

Funciones callback en Java

Es bastante inusual ejecutar una función callback en Java. Té­c­ni­ca­me­n­te, se puede hacer, pero requiere la función de reflexión. Con esta función se es­ta­ble­cen métodos y funciones que se procesan en objetos. Por co­n­se­cue­n­cia, la función de reflexión es más una función de bi­blio­te­ca que un callback.

El principio SAX también funciona de manera similar a la función callback en Java. En este caso, el ana­li­za­dor SAX lee un archivo XML y llama a algún método de callback concreto en función del evento entrante. Entre ellos, se incluyen los métodos sta­r­t­Do­cu­me­nt() y sta­r­tE­le­me­nt().

Funciones callback en C

En el lenguaje de pro­gra­ma­ción C, las funciones callback pueden in­co­r­po­rar­se de manera similar a Ja­va­S­cri­pt. Este lenguaje, que suele uti­li­zar­se para programar sistemas y apli­ca­cio­nes, es una parte integral de la pro­gra­ma­ción de núcleos de sistemas y sistemas ope­ra­ti­vos. Muchos lenguajes de pro­gra­ma­ción, como Ja­va­S­cri­pt, PHP, C++, Java o C#, se basan mucho en la sintaxis y las pro­pie­da­des de C. Por lo tanto, la sintaxis y los métodos de los di­fe­re­n­tes lenguajes también coinciden en muchos aspectos.

Este sería un ejemplo de función callback en C:

void A()
{
	printf("Soy una función A\n");
}
// La función callback
void B(void (*ptr)())
{
	(*ptr) (); // Aquí se invoca el callback de A
}
int main()
{
	void (*ptr)() = &A;
	// Se ejecuta la función B
	// La función A se pasa como argumento
	B(ptr);
	return 0;
}

En co­n­se­cue­n­cia, la salida de este código es: “Soy una función A”. Al igual que en Ja­va­S­cri­pt, las funciones callback siempre se ejecutan cuando ocurre un evento de­te­r­mi­na­do. En C, estas funciones se utilizan para crear diversas bi­blio­te­cas nuevas para el de­sa­rro­llo posterior de los programas y para generar señales desde el núcleo ne­ce­sa­rias a la hora de gestionar eventos así­n­cro­nos.

Hosting para WordPress ge­s­tio­na­do
Crea tu página con IA, nosotros hacemos el resto
  • Creación fácil y rápida gracias a la IA integrada
  • To­ta­l­me­n­te pe­r­so­na­li­za­ble con pla­n­ti­llas y plugins
  • Ac­tua­li­za­ción sin co­m­pli­ca­cio­nes y menos ad­mi­ni­s­tra­ción
Ir al menú principal