terça-feira, maio 17, 2011

Fila de execução javascript

A nececidade de fila de execução sequencial em javascript

codigo do Objeto que possue a fila

function Obj() {

    // fila de execução
    this.queue = {
        queueAttr: []
        , push: function( fn ) {
            this.queueAttr.push( fn );
            return this;
        }
        , pop: function() {
            return this.queueAttr.splice(0 ,1)[0];             
        }
        ,execute: function() {
            while (this.queueAttr.length > 0) {
                var fn = this.pop();
                this.dispatch(fn);
            }             
        }
        ,dispatch: function( fn ) {
            args = [params];
            fn = (typeof fn == "function") ? fn : window[fn];
            return fn.apply(this, args || []);
        }
    };
};

forma de utilizar

Obj.queue
    .push(function(params) {
        //Codigo a ser executado
    })
    .push(function(params) {
        //Codigo a ser executado
    })
    .push(function(params) {
        //Codigo a ser executado
    })
    .execute();

Enjoy

Nenhum comentário:

Postar um comentário