我正在创建一个函数数组。

var wrapFunction = function(fn, context, params) {
    return function() {
          fn.apply(context, params);
    };
}

var sayStuff = function(str) {
     //do work & return something
    return str;
}

var fun1 = wrapFunction(sayStuff, this, ["Hello, world!"]);

que = []
que.push(fun1);


现在我正在这样做:

var current = que.shift()
current();


这很好用,但是有一种方法可以调用que.shift并将所有功能一直运行到我的sayStuff函数;以便
current === 'Hello, world!'

我尝试了(que.shift())();,但它不会触发整个周期。

最佳答案

如果您(que.shift())();调用的值return应该起作用:

fn.apply

关于javascript - .shift()之后的调用函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34728975/

10-11 13:18