Così mi è stato chiesto in un'intervista, ma ha sollevato un buon caso d'uso. Supponiamo che tu abbia un sacco di fonti di dati. Vuoi trovare il primo disponibile, elaborarlo e ignorare il resto.Trova la prima fonte di dati disponibile con jQuery differita
Quindi qualcosa di simile:
var datasources = new Array("somedatabase1/pizza","somedatabase2/beer","somedatabase3/llama");
var dfds = new Array();
$.each(datasources,function(source){
dfds.push($.getJSON(source));
});
$.when(dfds).done(function(){alert("they are all done");});
Ignora che io davvero non credo che quando si accetta un array (forse lo fa). Questo naturalmente lo farebbe attendere fino a quando non saranno tutti completati. Sto cercando un codice che lo faccia aspettare fino a quando uno di loro è finito, e quindi non preoccuparsi degli altri.
Sono stato informato che avrebbe funzionato solo in modo ricorsivo.
Dovrebbero iniziare tutto allo stesso tempo, o il secondo quando il primo fallito? – Bergi
@Bergi Penso che funzioneranno entrambi, penso che entrambi siano ottimali in vari casi d'uso. – Parris
Sì, ma il loro concetto è molto diverso. Quindi di quale hai bisogno? – Bergi