app.get('/page', function(req, res, next) {
callback_(function(err, count) {
if (err) {
// Обрабатываем ошибку
return res.status(500).end();
}
console.log(count); // выводит нужный результат
res.render('page', {
postCount: count
});
});
})
var callback_ = function(cb) {
setTimeout(function() {
getPostCount(cb)
}, 5000);
}
var getPostCount = function(cb) {
connection.query("SELECT COUNT(*) FROM posts", function(err, result, fields) {
if (err) return cb(err);
cb(null, result.length);
});
};
getEmail() {
return new Promise((resolve, reject) => {
this.start();
this.db.query('SELECT * FROM contacts', (err, contacts) => {
if (err) {
reject(err);
return;
}
const emails = contacts
.map(contact => contact.email)
.filter(Boolean);
this.end();
resolve(emails);
});
});
}
_db.getEmail()
.then((emails) => {
console.log(emails)
})
.catch((error) => {
console.log('Error in the Query', error);
});
{
answear(ids) {
return new Promise((resolve, reject) => {
const bindings = ids.map(id => '?').join(',');
db.query(
`SELECT * FROM answers WHERE id_question IN (${bindings})`,
ids,
(error, rows) => {
if (error) {
return reject(error);
}
resolve(rows);
}
);
});
}
}