Passing anonymous function as callback in Javascri

2019-06-05 00:14发布

Is there a way to pass anonymous function as a custom callback function in Javascript? I have this code:

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

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

I am trying the above code and it's executing notifyme function, but not going further with redirect code. I know I can pass a function name as a callback, but I don't have a specific function that I can pass. This is why they invented the anonymous function I guess.

It'd be really nice if there was a way to do that.

3条回答
再贱就再见
2楼-- · 2019-06-05 00:29

You need to call your callback!

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

notifyme("msg", function(){
//do some custom redirect logic    
});
查看更多
叼着烟拽天下
3楼-- · 2019-06-05 00:49

You can call your function simply by invoking it ():

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

myFunc in the above is a variable pointing at your function. By invoking it, () you call the function that the variable (myFunc) points at.

This answer doesn't go into details about the custom redirect logic. Because I don't know what this does.

查看更多
贪生不怕死
4楼-- · 2019-06-05 00:52

Your code pattern should be like

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

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

查看更多
登录 后发表回答