Я хочу вернуть результат запроса в БД, который, как мне кажется, будет обещанием, а затем использовать это обещание в другом файле. Вот код моей модели (Пользователь. 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);
});
};
Но когда я нажимаю на кнопку входа, страница не go на указанный URL-адрес и продолжает работать до CRA sh. В чем проблема?
ОБНОВЛЕНИЕ-1 Это моя БД. 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;