Я использую node и postgres, я новичок в написании асинхронной функции, я пытаюсь сделать очень простой запрос, который сделает общее количество записей в базе данных, добавит одну к нему и вернетрезультат.Результат будет виден до генерации DOM.Я не знаю, как это сделать, поскольку асинхронная функция не возвращает значение вызывающим (также, вероятно, у меня все еще есть синхронное мышление).Вот функция:
function generateRTA(callback){
var current_year = new Date().getFullYear();
const qry = `SELECT COUNT(date_part('year', updated_on))
FROM recruitment_process
WHERE date_part('year', updated_on) = $1;`
const value = [current_year]
pool.query(qry, value, (err, res) => {
if (err) {
console.log(err.stack)
} else {
var count = parseInt(res.rows[0].count) + 1
var rta_no = String(current_year) + '-' + count
callback(null, rta_no)
}
})
}
Для внешнего интерфейса я использую мопса с простой формой HTML.
const rta_no = generateRTA(function (err, res){
if(err){
console.log(err)
}
else{
console.log(res)
}
})
app.get('/new_application', function(req, res){
res.render('new_application', {rta_number: rta_no})
});
Я вижу rta_no в console.log, но как мне передать его обратно в DOM, когда значение будет готово?