在JavaScript中将匿名函数作为回调函数传递

8

有没有办法在Javascript中将匿名函数作为自定义回调函数传递?

我有这段代码:

function notifyme(msg){
    console.log(msg)
}

notifyme("msg", function(){
    //do some custom redirect logic    
});

我正在尝试上述代码,它正在执行notifyme函数,但未继续执行重定向代码。 我知道可以将函数名作为回调传递,但我没有特定的函数可供传递。这就是他们发明匿名函数的原因吧。 如果有一种方法可以做到这一点,那将非常好。

可能是[JavaScript风格:可选回调函数]的重复问题(https://dev59.com/UGw15IYBdhLWcg3wJ4is)。 - evolutionxbox
问题不是关于可选回调,而是关于传递匿名函数调用回来。 - Lamar
3个回答

18

你的代码模式应该如下:

function notifyme(msg,callback){
    console.log(msg);
    // Do your stuff here
    if(callback){
      callback();
    }
}

notifyme("msg", function(){
    //do some custom redirect logic    
});


6
您可以通过调用函数()来简单地调用它:

function notifyme(msg, myFunc){
        console.log(msg);
        myFunc();
}
    
notifyme("msg", () => {
        console.log("function called");   
});

myFunc是指向你的函数的变量。通过调用(),您可以调用该变量(myFunc)所指向的函数。

此答案不详细介绍自定义重定向逻辑,因为我不知道它的作用。


4

你需要调用你的回调函数!

function notifyme(msg, callback){
    console.log(msg);
    callback();
}

notifyme("msg", function(){
//do some custom redirect logic    
});

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接