问题
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.
回答1:
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
});
回答2:
You need to call your callback!
function notifyme(msg, callback){
console.log(msg);
callback();
}
notifyme("msg", function(){
//do some custom redirect logic
});
回答3:
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.
来源:https://stackoverflow.com/questions/42203554/passing-anonymous-function-as-callback-in-javascript