我想多次调用一个函数,每次都为它提供不同的输入,但是我试图确保在前一个函数调用完成后触发下一个函数调用。
例如:
func(1,2);
func(9,3);
func(6,4);
func(5,6);
我已经看到回调被编码为;
function1(someVariable, function() {
function2(someOtherVariable);
});
但这只在调用第二个函数时有效,我尝试链接这些函数,但这只允许我运行一定数量的函数。
有没有一种方法可以将某种回调应用到同一函数?
注意:该函数只是添加了一个类。
func(x, y){
$("#block").addClass("class");
setTimeout(function(){
$("#block").removeClass("class");
},1000);
};
最佳答案
function func(x,y,callback) {
console.log(x,y);
$("#block").addClass("class");
setTimeout(function(){
$("#block").removeClass("class");
callback();
},1000);
};
var params = [
[1,2],
[9,3],
[6,4],
[5,6]
], i = 0;
function fn() {
if( params[i] ) {
func( params[i][0], params[i++][1], fn );
}
}
fn();
只要还有剩余的参数,就会继续。
关于javascript - 同一个函数的回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11177687/