繁体   English   中英

JavaScript回调函数错误

[英]Javascript callback function error

由于某种原因,我在下面编写的代码(我正在制作的POST路由)无法按照我的预期工作。

app.post("/", function (req, res, error) {
  var message = "";
  tableSvc.createTable("tableName", function (error, result,response){
      if (error) 
        message += "There was an error in creating this table";
      else 
        message += "Table created succesfully";

  }); 
  console.log(message);     
});

上面的代码"There was an error..."打印"There was an error...""Table created..." ,而是仅打印出一个空字符串。
我知道该回调函数正在执行,因为如果我将console.log(message)放在回调函数中,则上述两个字符串中的任何一个都会输出到控制台。
我是Java语言和调用函数的新手,所以为什么我的代码不按我的预期执行?

消除了我的猜测-错过了您关于执行回调的要点-这很可能是其他回复提供的异步问题。

我认为这里是可变消息的范围。 我没有尝试过,但可能会工作。

 app.post("/", function (req, res, error) {
    var obj = this;
    obj.message = '';
      tableSvc.createTable("tableName", function (error, result,response){
          if (error) 
            obj.message += "There was an error in creating this table";
          else 
            obj.message += "Table created succesfully";

      }); 

      while(obj.message.length===0){
            ;//Block the next execution till the operation above is complete.
      }


      console.log(obj.message);     
    });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM