mysql - 使用带有 nodejs 的 mysql 准备查询时,Web 浏览器崩溃
问题描述
我想将查询结果返回给数据库,我认为这将是一个承诺,然后在另一个文件中使用该承诺。这是我的模型代码(User.js):
User.prototype.login = function () {
return new Promise((resolve, reject) => {
pool.execute('SELECT * FROM `users` WHERE `username` = ? AND `password` = ?', [this.data.username, this.data.password], (err, attemptedUser) => {
if (err) {
pool.release();
return reject(err);
} else {
pool.release();
return resolve(attemptedUser);
}
});
});
}
以及我的控制器文件(userController.js)中的代码:
const User = require('../models/User');
exports.login = (req, res) => {
let user = new User(req.body);
user.login()
.then((result) => {
res.send(result);
})
.catch((err) => {
res.send(err);
});
};
但是当我点击登录按钮时,页面不会转到指定的 URL 并继续工作直到崩溃。问题出在哪里?
UPDATE-1 这是我的 db.js :
const mysql = require('mysql2/promise');
const dotenv = require('dotenv');
dotenv.config();
const pool = mysql.createPool({
host: process.env.DB_HOST,
user: process.env.DB_USERNAME,
password: process.env.DB_PASSWORD,
database: process.env.DB_NAME,
connectionLimit: 100
});
module.exports = pool;
解决方案
推荐阅读
- svelte - 在用户选择值之前有条件地呈现占位符
- react-native - 在开发应用程序上遇到 Expo 问题,但在本地的同一个应用程序上却没有
- c# - 字符串MongoDB中的InsertMany json
- arrays - 使用 Numpy genfromtext 导入数据并使用日期时间格式化列
- powershell - 函数的Powershell返回值让我发疯
- react-native - React 阿联酋本地支付网关
- r - 根据另一个向量中的观察结果计算长度为 0 和 1 的向量
- javascript - 如何防止 Chrome 在离线时加载缓存的网页?
- python - 使用openCV Python自动控制PC上的应用程序
- javascript - 如何在遍历期间从 Babel 节点获取代码作为字符串