Node.js 在NodeJS上的方法内部设置变量值
我需要一些关于NodeJS类的帮助 我在类中有以下方法:Node.js 在NodeJS上的方法内部设置变量值,node.js,class,methods,Node.js,Class,Methods,我需要一些关于NodeJS类的帮助 我在类中有以下方法: GetGreetingsReply(Token) { var greetings; console.log("Token: " + Token); this.Connection.query('SELECT * FROM FB_Greetings WHERE Token = ?', Token, function(err, rows) { if (err) throw err;
GetGreetingsReply(Token)
{
var greetings;
console.log("Token: " + Token);
this.Connection.query('SELECT * FROM FB_Greetings WHERE Token = ?', Token, function(err, rows)
{
if (err) throw err;
greetings = JSON.stringify(rows);
});
//console.log(JSON.stringify(greetings));
return greetings;
}
然后在这个方法中,我对mysql进行查询,在函数(err,rows)中我可以将数据打印到控制台。但是当我分配变量greetings=JSON.stringify(行)时
然后返回,为空
那个么,如何将查询结果(行)分配到可读变量,甚至是类变量(this.variable=rows)中呢
提前谢谢你 异步过程中存在问题,因此您需要执行以下操作: GetGreetingsReply(令牌) { 问候
console.log("Token: " + Token);
this.Connection.query('SELECT * FROM FB_Greetings WHERE Token = ?', Token, function(err, rows)
{
if (err) throw err;
greetings = JSON.stringify(rows);
console.log(JSON.stringify(greetings));
return greetings;
});
console.log("Token: " + Token);
return greetings = await this.Connection.query('SELECT * FROM FB_Greetings WHERE Token = ?', Token, function(err, rows)
{
if (err) throw err;
return greetings = JSON.stringify(rows);
});
//console.log(JSON.stringify(greetings));
}
或
异步函数GetGreetingsReply(令牌)
{
问候
console.log("Token: " + Token);
this.Connection.query('SELECT * FROM FB_Greetings WHERE Token = ?', Token, function(err, rows)
{
if (err) throw err;
greetings = JSON.stringify(rows);
console.log(JSON.stringify(greetings));
return greetings;
});
console.log("Token: " + Token);
return greetings = await this.Connection.query('SELECT * FROM FB_Greetings WHERE Token = ?', Token, function(err, rows)
{
if (err) throw err;
return greetings = JSON.stringify(rows);
});
//console.log(JSON.stringify(greetings));
}
现在它的返回承诺,所以请使用.then(function(){});子句top获取数据