gpt4 book ai didi

javascript - Node.js 中的函数

转载 作者:行者123 更新时间:2023-12-02 18:04:03 25 4
gpt4 key购买 nike

在我的 Node 应用程序中,我正在使用函数。但是我得到了该函数的结果:

我的代码:

var connection = mysql.createConnection({
host : 'localhost',
user : 'xxxx',
password : 'xxxxx',
database : 'xxxxxxx',
debug : true,
})
connection.connect(function(err) {
if ( !err ) {
console.log("Connected to MySQL");
} else if ( err ) {
console.log(err);
}
});

if(level5 == undefined)
{
var result1=querylevel5();
console.log("vvvvvvvvv="+result1)
res.writeHead(200, { 'Content-Type': 'application/json'});
res.end(JSON.stringify(result1,null,"\n"));
}

我的功能:

    function querylevel5()
{
var result;
connection.query("select * from levels ", function(err, row1, fields) {
result= row1;
/*res.writeHead(200, { 'Content-Type': 'application/json'});
res.end(JSON.stringify(row1,null,"\n"));*/
});
return result;
}

我想在我的调用函数中获得 row1 结果..但它打印“未定义”..我是这个node.js的新手..所以请帮我解决这个问题..提前致谢..

最佳答案

最有可能的问题是函数 querylevel5result 之前立即返回。您必须像大多数其他 Node.js 框架一样进行操作,例如 connection.query 函数,即使用回调:

if(level5 == undefined) {
querylevel5(function(result) {
console.log("vvvvvvvvv="+result)
res.writeHead(200, { 'Content-Type': 'application/json'});
res.end(JSON.stringify(result,null,"\n"));
});
}

还有

function querylevel5(callback) {
connection.query("select * from levels ", function(err, row1, fields) {
callback(row1);
});
}

关于javascript - Node.js 中的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20259508/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com