1. ホーム
  2. javascript

[解決済み] コールバックを別の関数にパラメータとして渡す方法

2023-03-19 02:10:01

質問

私は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);
}

どのように解決するのですか?

うん。関数参照は他のオブジェクト参照と同じで、思う存分受け渡しできるんだ。

もっと具体的な例を挙げてみましょう。

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); // logs "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); // logs "1 + 2 = 3"