Tecnología

Inicio

Función de devolución de llamada

Función de devolución de llamada


Los programadores que escriben guiones para aplicaciones Web y de escritorio a menudo utilizan las funciones de devolución de llamada. El principio básico de una devolución de llamada es que se puede pasar una función como un parámetro a otra función. A menudo, la función de recepción de la devolución de llamada se ejecutará después de que su propio contenido ha terminado de ejecutarse. Las devoluciones de llamada aparecen comúnmente en las funciones de JavaScript, por ejemplo, con efectos visuales animados o de otro tipo, ya que permiten al programador especificar qué debe ocurrir cuando un efecto decorativo.

Las variables de función

En la programación, las variables pueden almacenar datos. Estos datos pueden incluir números y cadenas de texto entre otros tipos de información. Las variables también pueden almacenar fragmentos de código. Cuando un programa se define una función, que puede almacenar la función en una variable, como sigue:
var callbackFunction = function () {document.write ( "<p> Esta es la devolución de llamada </ p>!"); }

Este código JavaScript especifica una función y lo almacena en la variable de referencia especificado. El código puede ahora pasar esta función como un parámetro a otra función. La otra función puede utilizar la referencia variable pasada para ejecutar el contenido de la devolución de llamada.

parámetros

Los scripts pueden definir funciones para recibir y devolver valores. La función JavaScript siguiente ejemplo muestra:
función doProcessing (someText, AFunction) {
document.write ( "<p>" + someText + "</ p>");
Una función();
}

Esta función recibe dos parámetros. Uno es una cadena de texto y la otra es una referencia a una función. En el interior del cuerpo de la función, el guión lleva a cabo el procesamiento, en este caso, simplemente escribiendo el valor del parámetro de cadena en la página Web de marcas. Una vez su propio proceso se haya completado, la función llama finalmente la función de devolución de llamada se pasa como parámetro. Esto hará que el contenido de la variable de función a ejecutar.

Implementación

El código JavaScript dentro de una página puede llamar a la función "doProcessing", pasándole un valor de cadena y la referencia a la variable de función. El siguiente código de ejemplo muestra:
doProcessing ( "Un poco de texto arbitraria!", callbackFunction);

Sin embargo, JavaScript menudo reacciona a eventos de usuario. El siguiente elemento de entrada HTML de ejemplo muestra una forma alternativa de llamar a la función:
<Input type = "button" onclick = "callit ()" />

Esto funcionaría con la siguiente función en el guión:
callit función () {
var callbackFunction = function () {document.write ( "<p> Esta es la devolución de llamada </ p>!"); }
doProcessing ( "Un poco de texto arbitraria!", callbackFunction);
}

Cuando el usuario hace clic en el botón, esta función será, a su vez, llama a la otra función, que pasa a la devolución de llamada como segundo parámetro.

Usos

devoluciones de llamada de JavaScript son comunes con las bibliotecas que proporcionan efectos animados e interactivos, tales como el recurso de jQuery. El uso de muchas de las funciones estándar de jQuery, los desarrolladores pueden aplicar efectos visuales, que pasa a funciones de llamada como parámetros, como en el siguiente ejemplo de código:
$ ( "Div"). Espectáculo (2000, function () {
document.write ( "callback");
});

Esto invita a la función de presentación de jQuery para mostrar un elemento HTML especificado. La llamada de función incluye una devolución de llamada, que se define de forma explícita. Cuando el script termina que muestra el elemento, la función se ejecutará. La función de devolución de llamada, simplemente escribe el contenido de la página de demostración.