Express API с mysql2. Я хочу использовать асинхронный режим и ждать запроса данных из таблицы продуктов, но ничего не печатать, не знаю, как правильно их использовать.
exports.getAllTours = function(req, res) {
getTours()
.then(data => console.log(data))
.catch(err => console.log(err ));
}
async function getTours() {
var sql = "Select * from product_prd"
return new Promise(async function(resolve, reject) {
let [rows, fields] = await poolQuery(sql)
setTimeout(function() {
resolve(rows);
}, 500);
})
.catch(err => reject(err));
}
async function poolQuery(sql, args) {
return new Promise((resolve, reject) => {
promisePool.query(sql, args, (err, rows) => {
if (err)
return reject(err);
resolve(rows);
}).catch(err => reject(err));
});
}
Я создал такой пул соединений, следуя официальной документации mysql2
const mysql = require('mysql2');
const pool = mysql.createPool({
host: 'localhost',
user: 'super',
port: '3307',
password: 'sohail',
database: '784413_wonder',
waitForConnections: true,
connectionLimit: 10,
queueLimit: 0
});
// now get a Promise wrapped instance of that pool
const promisePool = pool.promise();
module.exports = promisePool;