Проблема здесь в том, что вы не позволяете обещанию разрешиться до попытки получить количество строк. Когда вы создаете функцию с использованием async
, возвращаемый результат всегда будет обещанием. Вот несколько решений, которые принесут вам желаемый результат:
Решение 1. Используйте console.log
, чтобы распечатать результат обещания после того, как он был разрешен.
const email = 'something@gmail.com'
const numOfEmailsQuery = `SELECT * FROM contactinfo WHERE email = '${email}'`
email_num(numOfEmailsQuery)
.then(console.log)
.catch(console.error)
Решение 2 : Используйте await
внутри функции async
, чтобы разрешить результат обещания и сохранить его в переменной. Затем распечатайте результат, используя console.log
async function printNumberOfEmails(email) {
const numOfEmailsQuery = `SELECT * FROM contactinfo WHERE email = '${email}'`
try {
const numOfEmails = await email_num(numOfEmailsQuery)
console.log(numOfEmails)
} catch (err) {
console.error(err)
}
}
const email = 'something@gmail.com'
printNumberOfEmails(email)
Надеюсь, что это поможет! Удачи!