Definición de una Función Callback

Escrito por sue smith Google | Traducido por ramon bazan
  • Comparte
  • Twittea
  • Comparte
  • Pin
  • E-mail
Definición de una Función Callback
Los lenguajes de programación Web tales como JavaScript y PHP pueden utilizar funciones callback. (Comstock/Comstock/Getty Images)

Las funciones callback (también conocidas como funciones de devolución de llamada o retro-llamada) aparecen en varios lenguajes de programación. Cuando escribes aplicaciones, puedes encapsular partes del código dentro de una función. Cuando has definido una función en una aplicación, el código que se encuentra fuera de ésta puede llamarla, causando que el código contenido en dicha función sea ejecutado. Es también común pasar parámetros a las funciones, incluyendo variables y valores. Cuando se pasa una función como el parámetro de otra función, se le conoce a la primera como función de retro-llamada (callback function en inglés).

Otras personas están leyendo

Funciones

Las funciones permiten a los programadores utilizar una funcionalidad más de una vez, sin tener que repetir el código. Al definir funciones para tareas comunes, los programadores pueden llamarlas de múltiples lugares dentro del código de la aplicación. Si el programador necesita alterar la implementación de la función, sólo será necesario hacer las mejoras en un sólo lugar. Los programadores, por lo tanto, consideran a las funciones cómo una de las herramientas de programación más eficientes. Cuando utilizan funciones "callback", algunas veces los programadores las definen como variables, como se muestra en el siguiente ejemplo escrito en JavaScript:

var funcionGenial = function() {alert("Listo");};

Parámetros

Las funciones "callback" aparecen como parámetros de otras funciones. Cuando un programador declara una función, también conocidas cómo métodos en algunos lenguajes de programación, pueden especificar parámetros que deben ser provistos cuando la función es llamada. La siguiente función de ejemplo, escrita en JavaScript, demuestra dicha técnica:

function funcionUtil(ciertoTexto,ciertaFuncion) { //implementación de la función aquí... }

Dentro de esta función, el código puede hacer referencia a dos variables, una de las cuales puede ser de tipo string y la otra la definición de una función. El segundo parámetro puede recibir código directamente o el nombre de una variable en la cuál una función ha sido almacenada, como fue el caso del ejemplo "funcionGenial".

Llamadas

Para llamar una función, pasando otra función como parámetro, se puede pasar código directamente o una variable haciendo referencia a la función. En el siguiente código de ejemplo se llamará a la función "funcionUtil" del ejemplo anterior, pasándole como parámetro la función "funcionGenial":

funcionUtil("Hola", funcionGenial);

Al pasar el nombre de la variable que almacena el código de la función de retro-llamada, esta sentencia está pasando la función misma a otra función, dónde puede ser ejecutada. La primera función es provista como un valor de tipo "string".

Ejecución

Comúnmente, las funciones "callback" se ejecutarán después que otros procesos han terminado. Cuando son pasadas como parámetros a otra función, la función de retro-llamada puede ser ejecutada una vez que el contenido de la función que la recibió terminó. El siguiente ejemplo, con un poco más de código, ayudará a demostrar lo antes explicado:

function funcionUtil(ciertoTexto,ciertaFuncion) { //implementación de la función aquí... alert(ciertoTexto); ciertaFuncion(); }

Cuando este código es ejecutado, la ventana de diálogo de alerta, llamada con la función alert(ciertoTexto), será desplegada mostrando en ella el valor "Hola" (suponiendo que éste se recibió en el parámetro ciertoTexto). Cuando el usuario cierre la ventana de diálogo de alerta, se ejecutará la función "callback" ciertaFuncion(), la cual mostrará nuevamente una ventana de diálogo de alerta, ahora con el texto "Listo" (La definición de ésta función se puede observar arriba en la Sección 1). Este es un uso común de las funciones de retro-llamada, aunque los detalles de la implementación en estos ejemplos son con fines demostrativos. Las funciones "callback" son normalmente la última línea dentro de la función que las recibió como parámetros, por lo que son ejecutadas hasta que el procesamiento de la función que las recibe es realizado por completo.

No dejes de ver

Filtrar por:
  • Mostrar todos
  • Artículos
  • Galerías de fotos
  • Videos
Ordenar:
  • Más relevante
  • Más popular
  • Más reciente

No se encuentran artículos disponibles

No se encuentran slideshows disponibles

No se encuentran videos disponibles