Задать вопрос
@Banjamin
Пишу

Как написать асинхронную функцию?

Добрый день. Ниже код который отправляет запись из БД через get. Вынес функцию за пределы роута, но тут встал вопрос, res.send(data) не будет ждать выполнения getUsers, что логично. Подскажите самый оптимальный вариант выполнения действий: получить data, отправить ответ, без создания async функции внутри роута, где будет два await-а. Хотел упростить запись, и использовать эту функцию многократно.

async function getUsers(){
    const db = await pool.connect()
    const data = await db.query('SELECT * FROM users')
    console.log(data.rows)
    
    return data.rows  
}

app.get('/getUsers', (req,res)=>{

   const data = getUsers()
   res.send(data)   
})
  • Вопрос задан
  • 100 просмотров
Подписаться 2 Средний Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
  • Skillfactory
    Профессия Веб-разработчик
    12 месяцев
    Далее
  • Академия Eduson
    Fullstack-разработчик на JavaScript
    11 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
@Banjamin Автор вопроса
Пишу
Придумал такой вариант:
async function getUsers(cb){
    const db = await pool.connect()
    const data = await db.query('SELECT * FROM users')
    console.log(data.rows)
    await cb.send(data.rows)
   
}


app.get('/getUsers', (req,res)=>{

   getUsers(res)
     
})
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы