[英]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.