Índice

Las funciones diferidas

La versión 1.5 de jQuery introdujo el concepto de objetos diferidos, que permiten administrar, en el futuro, los elementos que no existen todavía en el instante presente. Esto es habitual en las consultas AJAX asíncronas.

En las versiónes anteriores de jQuery solo se gestionaban las situaciones de éxito (success) o fracaso (error) de las consultas AJAX. Ahora, los objetos diferidos permiten externalizar las funciones de llamada fuera del contexto de la consulta, sin preocuparse del momento en que termine la consulta AJAX.

Esta característica, importante en la gestión de las consultas AJAX, ya estaba presente en los frameworks JavaScript Dojo y MochiKit. Los desarrolladores ahora pueden disponer en jQuery de este avance destacado a nivel de la programación de los procesos asíncronos.

Con jQuery, estos objetos diferidos no se limitan a las consultas AJAX y también se pueden usar en otros contextos.

La siguiente tabla proporciona las principales funcionalidades de estos objetos diferidos.

jQuery.Deferred()

Crea un nuevo objeto diferido. Este objeto diferido puede tener tres estados: no resuelto (unresolved), resuelto (resolved) o rechazado (rejected). Este método Deferred() puede recibir como parámetro una función que se ejecutará cuando se haya creado el objeto diferido.

jQuery.when()

Permite definir las funciones que se tienen que ejecutar cuando se han realizado una o varias funciones.

deferred.then()

Determina las funciones que se tienen que invocar cuando ...