背景:我正在使用带有nodejs的mysql。我希望经常使用嵌套查询,因此为了避免“回调地狱”,我制作了一个简单的类,其中包含由 Promises 支持的函数。问题:将我的类导入我想要的文件后,我尝试在路由query(sql, params){...}内的 POST 请求中调用我的函数/login,但是我收到以下错误:TypeError: Database.query is not a function 注意:我的所有代码都已编译,因此我的文件位置没有问题进口。当我运行程序时会出现问题。代码:Database.js: 这就是我要导出到我的api.js文件中的内容。var mysql = require('mysql');const configuration = { host: 'localhost', user: 'root', password: '******', database: 'myDB'}class Database { constructor(configuration) { this.connection = mysql.createConnection(configuration) // } query(sql, params) { return new Promise(function(resolve, reject) { this.connection.query(sql, params, function(err, result) { if(err) return reject(err) resolve(result) }) }) }}module.exports = Databaseapi.js:这是我的应用程序后端逻辑的位置。...var Database = require('../classes/Database')//This is the route responsible for invoking my database queryrouter.post('/login', function(req,res,next) { const query1 = "SELECT * FROM users WHERE username = ? AND pass = ?" Database.query(query1, [req.body.username, req.body.password]) .then((result) => { if (result.length) { if (req.session.username) { res.send('You are logged in') } else { req.session.username = req.body.username res.send('You have successfully logged in') } } else { res.send('Incorrect Credentials') } }).catch((err) => console.log(err)) })
添加回答
举报
0/150
提交
取消
