Функция db.all не возвращается как переменная массива - PullRequest
0 голосов
/ 30 октября 2019

Я хочу получить массив из функции db.all, чтобы использовать его в моем пользовательском объекте JSON, который я хочу вернуть в качестве ответа

Я пробовал Object.values ​​(members);members.fulfillmentValue;некоторые методы PROMISE, которые я нашел в StackOverFlow

app.get('/group/:groupId', (req, res, next) => {

    const members= db.all('SELECT name,active FROM members WHERE groupId = ?;', req.params.groupId);

    return db.get('SELECT * FROM groups WHERE groups.id = ?;',req.params.groupId)
     .then(group =>  res.json({
         group.name,
         members:[members]
        }))
        .catch(next);
});

фактический ответ

{
   "name":"group 1",
   "memebers":[
      {"isFulfilled":true,"isRejected":false,"fulfillmentValue":[
         {"name":"Member 1","active":1},
         {"name":"Member 2","active":0}
      ]
   }]
}

ожидаемый ответ

{
   "name":"group 1",
   "memebers":[
      {"name":"Member 1","active":1},
      {"name":"Member 2","active":0}
   ]
}

1 Ответ

0 голосов
/ 01 ноября 2019

Я решил это, добавив async

app.get('/group/:groupId', async (req, res, next) => {

    const members= await db.all('SELECT name,active FROM members WHERE groupId = ?;', req.params.groupId).then();

    return db.get('SELECT * FROM groups WHERE groups.id = ?;',req.params.groupId)
     .then(group =>  res.json({
         group.name,
         members:members
        }))
        .catch(next);
});

, спасибо всем, кто пытался помочь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...