【问题标题】: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    
      });
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-09-18
        • 2019-11-23
        • 2011-05-11
        • 1970-01-01
        • 2012-09-10
        相关资源
        最近更新 更多