Задать вопрос
@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)   
})
  • Вопрос задан
  • 99 просмотров
Подписаться 2 Средний Комментировать
Пригласить эксперта
Ответы на вопрос 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)
     
})
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы
23 дек. 2024, в 11:07
10000 руб./за проект
23 дек. 2024, в 10:43
5000 руб./за проект
23 дек. 2024, в 10:32
2000 руб./за проект