【发布时间】:2020-06-06 00:18:00
【问题描述】:
我的 postgres 数据库中有 3 个表(服务、从业人员、网络),我希望它们都显示在我的 API 中,但出现此错误
(node:21300) UnhandledPromiseRejectionWarning: 错误 [ERR_HTTP_HEADERS_SENT]: 发送到客户端后无法设置标头
这是我能得到的唯一输出 json response
这是我的代码。
const handler = (req, res, db, tableName) => {
try{
db.select('*').from(tableName)
.then(data => {
if(data.length){
res.status(200).json({tableName: data});
}
})
}catch(err){
res.status(400).json(err)
}
}
const content = (req, res, db) => {
handler(req, res, db, 'services')
handler(req, res, db, 'practitioners')
}
module.exports = { content };
编辑: 这是我从Nabil Farhan 的回答中所做的,它的工作正是我想要的。 screenCapture
const getData = async (db, tableName) => {
return new Promise((resolve, reject) => {
db.select('*').from(tableName)
.then(data => {
resolve({[tableName]:data})
})
});
}
const contentHandler = async (req, res, db) => {
// get the argument from get request
let allTable = [];
const table_a = await getData(db, 'services');
const table_b = await getData(db, 'practitioners');
allTable.push(table_a);
allTable.push(table_b);
res.status(200).json({data: allTable});
}
module.exports = { contentHandler };
【问题讨论】:
标签: javascript node.js postgresql api server