Доброго, 
у меня проблема бьюсь второй день никак не могу найти решения
итак суть проблемы : 
в одной функции мы получаем массив 
function ...
        for (var i = 0; i < workArray.length; i++) {
                buildHTML(workArray[i], 'regions');
        }; 
....
buildHTML = function (geoId,holder) {
        $.ajax({
            url: 'Трулялял'+ geoId,
            error: function(){
                alert('Произошла ошибка. Перезагрузите страницу или попробуйте позже.');
            },
            success: function(text){
                $('#' + holder).append(text);
            }
        });
    }
Но так как мы можем для второго элемента массива получить ответ по ajax быстрее - этот див будет перед дивом для первого элемента массива. 
Как мне запустить buildHTML последовательно ... что то типа очереди событий. setTimeout не подходит ((
буду благодарен за помощь.