gpt4 book ai didi

mysql - 努力使用promise-mysql和bluebird从mysql取回数据

转载 作者:行者123 更新时间:2023-11-29 19:18:59 25 4
gpt4 key购买 nike

我正在尝试使用快速请求中的数据来访问 mysql 数据库以用作响应。但我正在努力使用 promise 取回数据。

表达位

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(" ");
})
})

我使用promise-mysql和bluebird来处理promise的mysql位

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应该返回Rows的值

最佳答案

您的端点定义缺少 data里面的参数then

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(" ");
});
});

你忘了return mysqlQ中的声明函数(您的函数没有返回任何内容,这是 TypeError 关于 undefined 的原因)

function mysqlQ(q) {
return mysql.createConnection({
...

关于mysql - 努力使用promise-mysql和bluebird从mysql取回数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42531084/

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