【问题标题】:Passing anonymous function as callback in Javascript在Javascript中将匿名函数作为回调传递
【发布时间】:2017-02-13 12:01:29
【问题描述】:
有没有办法在 Javascript 中将匿名函数作为自定义回调函数传递?
我有这个代码:
function notifyme(msg){
console.log(msg)
}
notifyme("msg", function(){
//do some custom redirect logic
});
我正在尝试上面的代码,它正在执行 notifyme 函数,但没有进一步使用重定向代码。
我知道我可以将函数名称作为回调传递,但我没有可以传递的特定函数。这就是为什么他们发明了我猜的匿名函数。
如果有办法做到这一点,那就太好了。
【问题讨论】:
标签:
javascript
callback
anonymous-function
【解决方案1】:
你的代码模式应该是这样的
function notifyme(msg,callback){
console.log(msg);
// Do your stuff here
if(callback){
callback();
}
}
notifyme("msg", function(){
//do some custom redirect logic
});
【解决方案2】:
您可以通过调用它来调用您的函数():
function notifyme(msg, myFunc){
console.log(msg);
myFunc();
}
notifyme("msg", () => {
console.log("function called");
});
上面的
myFunc 是一个指向你的函数的变量。通过调用它,() 调用了变量 (myFunc) 指向的函数。
这个答案没有详细介绍自定义重定向逻辑。因为我不知道这是做什么的。
【解决方案3】:
您需要调用您的回调!
function notifyme(msg, callback){
console.log(msg);
callback();
}
notifyme("msg", function(){
//do some custom redirect logic
});