Cómo manejar devoluciones de llamadas para múltiples solicitudes simultáneas
Código JavaScript para JQuery
Como mencioné anteriormente, necesito cargar un script y un archivo JSON como este:
$.when(
$.getScript('/media/js/wiki-min.js?build= 21eb633'),
$.getJSON('https://developer.mozilla.org /en- US/demos/feeds/json/featured/')
).then(function(a, b) {
// o ".done"
//Está bien, la carga está completa, puedes comenzar a trabajar
});
Cuando el archivo de recursos esté cargado, se activará la función Listo o la devolución de llamada, y sabré el Solicitud completada. Cada solicitud devolverá un parámetro de devolución de llamada diferente. Por ejemplo, el parámetro de devolución de llamada anterior es el siguiente:
// [respuesta, estado, jqxhr], [respuesta, estado, jqxhr]
Si queremos cargar otra solicitud Ajax tradicional, como obtener una plantilla HTML , Podemos hacer esto:
$.when(
$.getScript('/media/js/wiki-min.js?build=21eb633'),
$.getJSON ('https://developer.mozilla.org/en-US/demos/feeds/json/featured/'),
$.get('/') p >
).then(function(a, b, c) {
console. log(a, b, c);
});
Dojo Toolkit tenía una característica similar hace mucho tiempo, pero no esperaba que jQuery moderno pudiera hacerlo. La necesidad de manejar múltiples solicitudes en una sola devolución de llamada surgió más de una vez, lo que demuestra que jQuery es. cambiando con los tiempos.