小编典典

如何将回调作为参数传递给另一个函数

ajax

我是ajax和回调函数的新手,如果我弄错了所有概念,请原谅我。

问题: 我可以将 回调 函数作为参数发送给将执行该回调的另一个函数吗?

function firstFunction(){
    //some code

    //a callback function is written for $.post() to execute
    secondFunction("var1","var2",callbackfunction);
}

function secondFunction(var1, var2, callbackfunction) {
    params={}
    if (event != null) params = event + '&' + $(form).serialize();

    // $.post() will execute the callback function
    $.post(form.action,params, callbackfunction);
}

阅读 314

收藏
2020-07-26

共1个答案

小编典典

对。函数引用与任何其他对象引用一样,您可以将它们传递到您的内心。

这是一个更具体的示例:

function foo() {

    console.log("Hello from foo!");

}



function caller(f) {

    // Call the given function

    f();

}



function indirectCaller(f) {

    // Call `caller`, who will in turn call `f`

    caller(f);

}



// Do it

indirectCaller(foo); // alerts "Hello from foo!"

您还可以传递以下参数foo

function foo(a, b) {

    console.log(a + " + " + b + " = " + (a + b));

}



function caller(f, v1, v2) {

    // Call the given function

    f(v1, v2);

}



function indirectCaller(f, v1, v2) {

    // Call `caller`, who will in turn call `f`

    caller(f, v1, v2);

}



// Do it

indirectCaller(foo, 1, 2); // alerts "1 + 2 = 3"
2020-07-26