努力使用 promise-mysql 和 bluebird 从 mysql 取回数据
Struggling to get data back from mysql using promise-mysql and bluebird
我正在尝试使用来自明确请求的数据来访问 mysql 数据库以用作响应。但是我正在努力使用承诺取回数据。
表示位
app.get('/loadDrinks', function(req, res) {
var q = 'SELECT * FROM `Drinks` WHERE `Name` LIKE "%' + req.query.drinks + '%"';
mysqlQ(q).then(function() {
console.log(data);
res.send(" ");
})
})
mysql 我正在使用 promise-mysql 和 bluebird 来处理 promise
function mysqlQ(q) {
mysql.createConnection({
host: 'localhost',
user: 'correctUser',
password: 'correctPass',
database: 'correctDB'
}).then(function(conn) {
connection = conn;
var f = connection.query(q);
//connection.end()
return f
}).then(function (rows) {
return rows;
})
}
我收到错误:
TypeError: Cannot read property 'then' of undefined
在线67:14
这是
mysqlQ(q).then(function() {
但是mysqlQ
应该returnRows
的值
您的端点定义在 then
中缺少 data
参数
app.get('/loadDrinks', function(req, res) {
var q = 'SELECT * FROM `Drinks` WHERE `Name` LIKE "%' + req.query.drinks + '%"';
// here you had function() - without data parameter which you try to log further
mysqlQ(q).then(function(data) {
console.log(data);
res.send(" ");
});
});
并且您忘记了 mysqlQ
函数中的 return
语句(您的函数没有 return 任何东西,这是 TypeError
关于 undefined
)
function mysqlQ(q) {
return mysql.createConnection({
...
我正在尝试使用来自明确请求的数据来访问 mysql 数据库以用作响应。但是我正在努力使用承诺取回数据。
表示位
app.get('/loadDrinks', function(req, res) {
var q = 'SELECT * FROM `Drinks` WHERE `Name` LIKE "%' + req.query.drinks + '%"';
mysqlQ(q).then(function() {
console.log(data);
res.send(" ");
})
})
mysql 我正在使用 promise-mysql 和 bluebird 来处理 promise
function mysqlQ(q) {
mysql.createConnection({
host: 'localhost',
user: 'correctUser',
password: 'correctPass',
database: 'correctDB'
}).then(function(conn) {
connection = conn;
var f = connection.query(q);
//connection.end()
return f
}).then(function (rows) {
return rows;
})
}
我收到错误:
TypeError: Cannot read property 'then' of undefined
在线67:14 这是
mysqlQ(q).then(function() {
但是mysqlQ
应该returnRows
您的端点定义在 then
data
参数
app.get('/loadDrinks', function(req, res) {
var q = 'SELECT * FROM `Drinks` WHERE `Name` LIKE "%' + req.query.drinks + '%"';
// here you had function() - without data parameter which you try to log further
mysqlQ(q).then(function(data) {
console.log(data);
res.send(" ");
});
});
并且您忘记了 mysqlQ
函数中的 return
语句(您的函数没有 return 任何东西,这是 TypeError
关于 undefined
)
function mysqlQ(q) {
return mysql.createConnection({
...