$.when.apply($, $('.category-content .items .item').map(function(index, item) {
var total = $(item).find('.price').text().trim();
$.when(
function(index, value) {
var wait = index * 1000 + 1000;
setTimeout(function() {
console.log("Index1: " + index);
}, wait)
},
console.log("Index2: " + index)
).done(function(result) {
return total;
})
})).done(function(result) {
console.log("Все!");
});
1) мы в функции A создаем и возвращаем вложенную функцию B, у которой есть ссылка на внутреннюю переменную функции А
2) функция A завершилась, но память не может после себя освободить - эта ссылка изнутри функции B на внешнюю переменную функции А "держит" эту функцию А в памяти вместе с ее внутренними переменными
это какой-то антипаттерн по моему