Замена обратных вызовов обещаниями в Node.js
У меня есть простой модуль узла, который подключается к базе данных и имеет несколько функций для получения данных, например, эта функция:
dbConnection.js:
import mysql from 'mysql';
const connection = mysql.createConnection({
host: 'localhost',
user: 'user',
password: 'password',
database: 'db'
});
export default {
getUsers(callback) {
connection.connect(() => {
connection.query('SELECT * FROM Users', (err, result) => {
if (!err){
callback(result);
}
});
});
}
};
Модуль будет вызываться так из другого модуля узла:
app.js:
import dbCon from './dbConnection.js';
dbCon.getUsers(console.log);
Я хотел бы использовать обещания вместо обратных вызовов для того, чтобы вернуть данные. До сих пор я читал о вложенных обещаниях в следующей ветке:Написание чистого кода с вложенными обещаниями, но я не мог найти решение, которое достаточно просто для этого варианта использования. Какой будет правильный способ вернутьresult
используя обещание?