как правильно работать с mysql в nodejs
что-то понять не могу как правильно работать с подключением к mysql
const pool = mysql.createPool({
connectionLimit: 5,
host: "127.0.0.1",
user: "sdfsdfs",
database: "dfgsdfs",
password: "1243242"
}).promise();
pool.execute('SELECT * FROM sites WHERE ?', [1]).then(result=>{
result[0].forEach( (resrow) => {
sites[resrow.site_id] = resrow;
sites_ids.push(resrow.site_id);
});
}).then(result=>{
return pool.execute('SELECT * FROM sites_users WHERE `active` = 1 AND site_id IN (?)', [sites_ids.join(', ')])
}).then(result =>{
for (var i in result[0]){
if(typeof sites_users[result[0][i].site_id] === 'undefined') {sites_users[result[0][i].site_id] = [];}
sites_users[result[0][i].site_id].push(result[0][i].user_id);
}
Object.values(sites).forEach(async (site) => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto(site.url);
const elementText = await page.evaluate(() => {
// Выбираем элемент, текст которого нужно получить
const element = document.querySelector('title');
// Возвращаем текстовый контент элемента
return element.textContent;
});
if(site.title != elementText){
pool.execute('UPDATE sites SET title="?" WHERE site_id=?', [elementText, site.site_id]);
}
await browser.close();
});
}).then(result =>{
pool.end();
})
UPDATE уже не срабатывает, говорит Pool is closed видимо в логике ошибка, или постоянно открывать новое подключение к mysql является нормальной практикой?
Источник: Stack Overflow на русском