【发布时间】:2021-09-12 00:24:00
【问题描述】:
我只是在学习使用 Promise,但不确定我遇到的这个错误;
Cannot read property 'query' of undefined
我已经简化了我的查询,但仍然出现错误。所以我猜这可能与我用于 MySQL 数据库的类有关。这是我进行查询的地方;
var createAudiopost = async function(req, res, next){
let row_a, row_b, row_c, row_d, row_e, row_f;
try {
row_a = await mydb.query( 'SELECT * FROM audioposts');
console.log("success");
res.json({ "title" : title,
"userid" : userid,
"opid" : opid,
"insert
});
}
catch(err) {
console.log(err.message);
}
finally {
mydb.close();
}
}
module.exports = createAudiopost;
我在这里为 MySQL 数据库创建了一个类;
const mysql = require( 'mysql' );
let config = {
host : 'localhost',
user : 'user',
password : 'password',
database: 'database'
};
class DataBase {
constructor( config ) {
this.connection = mysql.createConnection( config );
}
query( sql, args ) {
return new Promise( ( resolve, reject ) => {
this.database.query( sql, args, ( err, rows ) => {
if ( err )
return reject( err );
resolve( rows );
} );
} );
}
close() {
return new Promise( ( resolve, reject ) => {
this.connection.end( err => {
if ( err )
return reject( err );
resolve();
} );
} );
}
}
const mydb = new DataBase(config);
为什么我的控制台告诉我查询未定义?
【问题讨论】:
标签: mysql node.js promise node-mysql nodejs-server