♫【异步】短小强悍的JavaScript异步调用库

短小强悍的JavaScript异步调用库

 

var queue = function(funcs, scope) {

    (function next() {

        if(funcs.length > 0) {

            funcs.shift().apply(scope || {}, [next].concat(Array.prototype.slice.call(arguments, 0)))

        }

    })()

}

 

var obj = {  

    value: null

}



queue([

    function(callback) {

        var self = this

        setTimeout(function() {

            self.value = 10

            callback(20)

        }, 200)

    },

    function(callback, add) {

        console.log(this.value + add)

        callback()

    },

    function() {

        console.log(obj.value)

    }

], obj)

 

你可能感兴趣的:(JavaScript)