newb ie здесь. Я пытаюсь получить массив объектов из моей локальной базы данных с помощью двух select
запросов, используя knex. js и postgresql примерно так:
app.get('/trips/:name', (req, res) => {
const {name} = req.params;
db.select('tripid').from('member')
.where('name', '=', name)
.then(data => {
const array = data.map(elem => {
db.select('tripname')
.from('trip')
.where('id', '=', elem.tripid)
.then(obj => {
array.push(obj[0])
})
})
return array
})
.then(arr => res.json(arr))
.catch(err => res.status(400).json(err))
})
Я хочу получить sh все объекты, которые второй запрос возвращает в массив и отвечает переднему концу. Тем не менее, он всегда возвращает пустой массив, который я подозреваю, потому что .map
является асинхронным, поэтому массив возвращается до завершения l oop. Как я могу это исправить? Любая помощь приветствуется. Спасибо. Извините, если мой код трудно читать.