【发布时间】:2021-07-01 03:48:36
【问题描述】:
我有以下代码。
路由/index.js:
const express = require('express');
const router = express.Router();
const weeklyReportsController = require('../controllers/weeklyReportsController');
router.get('/weekly_reports', weeklyReportsController);
module.exports = router;
控制器/weeklyReportsController.js:
const weeklyReportsService = require('../services/weeklyReportsService');
const weeklyReportsController = async (req, res) => {
try {
const data = await weeklyReportsService;
res.json({data})
console.log('Weekly reports controller - success');
} catch(err) {
console.log(err);
}
};
module.exports = weeklyReportsController;
服务/weeklyReportsService.js:
const Pool = require('pg').Pool
const pool = new Pool({connection data})
const weeklyReportsService = async () => {
const res = await pool.query('SELECT * FROM reports', (err, results) => {
if (err) {
throw err;
} else {
console.log('Weekly reports service - success.');
}
return res.status(200).json(results.rows);
});
};
module.exports = weeklyReportsService;
我通过访问 localhost:8080/api/weekly_reports 返回的只是 {} 的空 JSON 对象。我尝试在我的代码中添加一些 console.log() 方法来查看触发了什么和没有触发什么,并且我的服务的日志没有被关闭。我花了几个小时试图挖掘示例代码,阅读文档,老实说只是茫然地看着我的屏幕 - 我只是不知道我在这里做错了什么。
有人对我在这里做错了什么有建议吗?
感谢大家抽出宝贵的时间,如果有什么我可以补充的,请不要犹豫,我会提供。
感谢您的帮助。
编辑:数据位于称为报告的 Postgres 数据库中,该表也称为报告。
【问题讨论】:
-
你可以试试 const data = await weekReportsService();在你的控制器/weeklyReportsController.js:?
-
@Sohan 我现在让控制台报告,所以朝着正确的方向迈出了一步!但是,现在我被抛出“TypeError:无法读取未定义的属性'状态'。”我检查了 res 的类型,它是未定义的。
标签: javascript node.js node-postgres