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

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

Войти через центр авторизации
Похожие вопросы