Pen*_*nta 1 javascript mysql return-value node.js
我写了一个nodejs Server.
app.get("/admin", function (req, res) {
var connection, value;
connection = mysql.createConnection({
host: "******",
user: "*****",
password: "****",
database: "YaAMP",
insecureAuth: true
});
value = mySQLgetValue("SELECT property, value FROM config WHERE property = 'primeMult'", connection);
console.log("Return Value" + value); //returns "[object Object]"
connection.end();
return res.render("admin", {
title: "YaAMP"
});
});
Run Code Online (Sandbox Code Playgroud)
还有一个mySQLgetValue函数从MySQL数据库中获取一个值,它应该从数据库中返回一个特定的值.
mySQLgetValue = function (queryString, connection) {
var value;
value = 0;
return connection.query(queryString, function (err, rows, fields) {
console.log("Value " + rows[0].value); //Returns correct value
return value += rows[0].value;
});
};
Run Code Online (Sandbox Code Playgroud)
将console.log在mySQLgetValue函数返回从DB正确的值.但函数调用返回Object并console.log打印"[object Object]".
怎么了?
小智 5
该console.log()是可变参数,那么使用逗号,而不是+.
console.log("Return Value", value);
Run Code Online (Sandbox Code Playgroud)
在+做字符串连接,它调用.toString()的对象,这就是为什么你过得好[object Object].
您无法return从传递给的回调中获取值connection.query,因为您不是调用该函数的那个.
相反,为函数定义另一个参数以接收在传递给的回调内部调用的回调函数connection.query.这将取代return声明.
app.get("/admin", function (req, res) {
var connection, value;
connection = mysql.createConnection({
host: "******",
user: "*****",
password: "****",
database: "YaAMP",
insecureAuth: true
});
var q = "SELECT property, value FROM config WHERE property = 'primeMult'";
// Pass a callback-----------------v
mySQLgetValue(q, connection, function(val) { console.log(val); });
connection.end();
return res.render("admin", {
title: "YaAMP"
});
});
// callback parameter ------------------------v
mySQLgetValue = function (queryString, connection, callback) {
var value;
value = 0;
return connection.query(queryString, function (err, rows, fields) {
console.log("Value " + rows[0].value);
// Invoke your callback
callback(value += rows[0].value);
});
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1013 次 |
| 最近记录: |