javascript - db.all 函数不作为数组变量返回
问题描述
我想从 db.all 函数接收一个数组,以便在我想将其作为响应返回的自定义 JSON 对象中使用它
我试过 Object.values(members); members.fulfillmentValue; 我在 StackOverFlow 中找到的一些 PROMISE 方法
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}
]
}
解决方案
我已经通过添加异步解决了
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);
});
感谢所有试图提供帮助的人
推荐阅读
- sass - 我的 scss 循环只进入 1vw 而不是 100vw 分布在 12
- kubernetes - 如何将 GKE 的 Istio 配置为限制出口?
- emacs - 为什么 emacs 无法安装 'gnu-elpa-keyring-update-' 和其他一些软件包?
- python - 数组赋值字典
- petri-net - 如何获取 UNION 类型的元素?
- python - 为什么 Mayavi 内联图在 Jupyter Notebook 中显示为文本?
- flutter - 如何将 Firestore 时间戳转换为 Dart DateTime
- java - 如何返回单声道
(作为副作用?) Mono.subscribe()? - javascript - 为什么 PhantomJS 渲染的 PDF 比指定的宽?
- angular - 在订阅之外获取值