Поэтому меня попросили об этом на собеседовании, но это вызвало хороший случай использования. Предположим, что у вас есть куча источников данных. Вы хотите найти первый доступный и обработать его и проигнорировать остальные.
Так что-то вроде:
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");});
Игнорируйте, что я действительно не думаю, когда принимает массив (может быть, он и есть). Это, конечно, заставит его подождать, пока они не закончатся. Я ищу некоторый код, который заставит его подождать, пока он не будет выполнен, и не беспокойтесь о других.
Мне сообщили, что он будет работать только рекурсивно.