function1();
function2();
function3();
Куда уж изящнее?
UPD:
Допустим, каждая функция нам может сказать, когда там у нее внутри всякие процессы позавершаются, и говорить она будет через callback:
function func1(callback) {
...
}
Предположим, что у нас есть N подобных функций, сделаем последовательность из них:
var funcQueue = [func1, func2, ..., funcN];
Теперь:
function callSequently(funcQueue) {
if(funcQueue.length) {
(funcQueue.shift())(function() {
callSequently(funcQueue);
});
}
}
callSequently(funcQueue);
Что-то я намудрил здесь... Но пусть будет.