Javascript 使用Node.JS获取对象检索/格式化MySQL
我有两个文件:server.js和sqlHelper.js。服务器与web浏览器建立套接字连接并检索行号,然后将其转发给sqlHelper。相关代码片段如下: server.jsJavascript 使用Node.JS获取对象检索/格式化MySQL,javascript,mysql,node.js,callback,Javascript,Mysql,Node.js,Callback,我有两个文件:server.js和sqlHelper.js。服务器与web浏览器建立套接字连接并检索行号,然后将其转发给sqlHelper。相关代码片段如下: server.js //Setup websocket connection with browser var ws = require("nodejs-websocket") var server = ws.createServer(function (conn) { console.log("Connected") conn.on
//Setup websocket connection with browser
var ws = require("nodejs-websocket")
var server = ws.createServer(function (conn) {
console.log("Connected")
conn.on("text", function (str) {
var select = require('./sqlHelper.js');
select.query(str, returnVal);
//this returns object Object
function returnVal(res){
console.log("Got it red:"+res);
}
conn.on("close", function (code, reason) {
console.log("Connection terminated")
})
}).listen(7001)
sqlHelper.js
exports.query = function(res, conn){
var mysql = require('mysql');
var connection = mysql.createConnection({
host: 'localhost',
user: 'root',
password: '******',
database: '*******'
});
connection.connect();
connection.query('select red, green, blue, c1, c2 from table
where ID ='+res, function(err, result){
if(err){
console.error(err);
return;
}
console.log(result);
//return result;
});
};
//this returns the correct information
exports.returnVal=function(res){
console.log(res);
}
当我从SQLHelper.js中的方法写入控制台时,该值是正确的,但是当我在server.js中使用相同的方法时,我得到了object
我不确定我的方法是否正确。我相信答案涉及回调,但我不确定为什么我的数据在这两个js之间显示不同
提前谢谢 这是异步的,因此首先需要回调查询函数以返回结果。否则,您可能无法返回正确的结果。此外,结果将是一个数组,因此结果[0]。红色、结果[0]。绿色等将是访问列值的方式