Показать сообщение отдельно
  #27 (permalink)  
Старый 22.12.2011, 19:00
Аватар для Gozar
Отправить личное сообщение для Gozar Посмотреть профиль Найти все сообщения от Gozar
 
Регистрация: 07.06.2007
Сообщений: 7,504

Можно присоединится?,
сейчас в голову велосипед приехал:

var chain = function () {};

chain.prototype.deferred = [];

chain.prototype.add = function (fn) {
    this.deferred.push(fn);
    return this;
}
chain.prototype.next = function () {
    if (this.deferred.length) {
        this.deferred.shift().apply(this);
    }
}
chain.prototype.start = function () {
    this.deferred.shift().apply(this);
}




new chain().
    add(function(){
        var self = this;
        setTimeout(function () {
            console.log(1);
            self.next();
        }, 1000);
    }).
    add( function(){
        var self = this;
            setTimeout(function () {
                console.log(2);
                self.next();
            }, 1000);
    }).
    add( function(){
        console.log(3);
    }).
    start();
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
Ответить с цитированием