Приветствую друзья!
Не могу разобраться с асинхронностью в JS. Помогите, пожалуйста.
Благодаря гуглению, написал такой код, который, как я думал, поможет мне справиться с моей задачей:
$.when.apply($, $('.category-content .items .item').map(function(index, item) {
var total = $(item).find('.price').text().trim();
(function(index, value) {
var wait = index * 1000 + 1000;
setTimeout(function() {
console.log("Index1: " + index);
}, wait)
})(index);
console.log("Index2: " + index);
return total;
})).then(function(result) {
console.log("Все!");
});
На выходе получаю это:
Index2: 0
Index2: 1
Index2: 2
Все!
Index1: 0
Index1: 1
Index1: 2
А требуется получить такое:
Index1: 0
Index2: 0
Index1: 1
Index2: 1
Index1: 2
Index2: 2
Все!
Как это сделать?