在我的代码中,我有一组函数调用。我遍历这些调用并使用 .apply() 来调用它们。问题是,如果新函数的调用需要任何时间,循环将 .apply() 并在前一个函数完成之前调用下一个函数。>.< 这是一个例子:
function someFunc(element, calls){
if(calls.length){
fn = calls[0];
calls.shift();
fn.apply(element, args);
someFunc(element, calls);
}
}
因此,如果应用函数上有回调,那么这可以按我的意愿工作。IE
function someFunc(element, calls){
if(calls.length){
fn = calls[0];
calls.shift();
fn.apply(element, args, function(){
someFunc(element, calls);
});
}
}
我还有一个关于在回调函数中调用 someFunc 的问题。calls
我数组中的函数会影响我的element
变量。所以我想确保在它被改变之后,它会在回调中传递给 someFunc,这样下一个函数也可以操作它。this
有时我只是对上下文感到困惑。:)
如果有帮助,我正在使用 jQuery。我知道如何向 jQuery 方法添加回调,但是当我处理本机 JavaScript 代码时,我不知道如何做到这一点。如何向 .apply() 方法添加回调?