una tipos paso pasar parametros funciones funcion enviar ejemplos desde javascript jquery callback jquery-deferred

javascript - tipos - Pasar parámetros adicionales a jquery. Devolución de llamada diferida



paso de parametros js (1)

Quiero pasar algunos parámetros adicionales a una devolución de llamada realizada jQuery.Deferred, lo estoy haciendo así ahora:

//dfd gets defined here as the return value of jQuery.ajax var me = this; var selector = $("#selector"); dfd.done(function(response){ me.updated(response, selector); });

Me preguntaba si hay una mejor manera de hacer esto. Pensé que había leído en alguna parte acerca de una manera más limpia de pasar parámetros sin la necesidad de una función de contenedor anónima, pero no puedo recordar cuándo la leí o qué leí. Las búsquedas de Google no encontraron nada hasta el momento.


Para pasar algo a .done devolución de llamada, debe pasarlo. .resolve , por ejemplo

dfd.done( function(selector) { console.log( selector ); }); dfd.resolve( selector );

pero en su caso dfd es un objeto $.ajax y .resolve se llama internamente, por lo que no tiene control sobre él. Por lo tanto, la única forma de hacerlo es usar la función anónima y el cierre.

Por cierto: no hay nada sucio en esta solución.