Javascript 节点Postgres UnhandledPromisejectionWarning:错误:查询必须具有文本或名称。两者都不支持
在尝试使用节点postgres池时,我当前收到以下未处理PromisejectionWarning错误,但我很难理解它来自何处以及需要查看哪些内容来修复它: “(节点:14208)未处理的PromisejectionWarning:错误:查询必须 具有文本或名称。不支持两者都不提供。 ... (节点:14208)未处理的PromiserEjectionWarning:未处理的承诺 拒绝。此错误源于在异步 函数没有catch块,或者拒绝了 未使用.catch()处理。“ index.jsJavascript 节点Postgres UnhandledPromisejectionWarning:错误:查询必须具有文本或名称。两者都不支持,javascript,node.js,postgresql,async-await,node-postgres,Javascript,Node.js,Postgresql,Async Await,Node Postgres,在尝试使用节点postgres池时,我当前收到以下未处理PromisejectionWarning错误,但我很难理解它来自何处以及需要查看哪些内容来修复它: “(节点:14208)未处理的PromisejectionWarning:错误:查询必须 具有文本或名称。不支持两者都不提供。 ... (节点:14208)未处理的PromiserEjectionWarning:未处理的承诺 拒绝。此错误源于在异步 函数没有catch块,或者拒绝了 未使用.catch()处理。“ index.js con
const express = require('express');
const app = express();
const db = require("./database");
const adminRouter = require('./routes/admin');
const homeRouter = require('./routes/home');
const aboutRouter = require('./routes/about');
const collectionRouter = require('./routes/collection');
const contactRouter = require('./routes/contact');
app.use(express.static('public'));
app.listen(3000, function(){
console.log("Server Running...");
})
app.use(db.query);
app.use(adminRouter);
app.use(homeRouter);
app.use(aboutRouter);
app.use(collectionRouter);
app.use(contactRouter);
const express = require('express');
const Pool = require('pg').Pool;
const router = express.Router();
//insures that the .env file is only run in a development environment and not a production environment
if(process.env.NODE_ENV !== 'production'){
//requires the the .env file configuration be run first hiding all info hidden via the .env file
require('dotenv').config();
}
const pool = new Pool({
user: "postgres",
password: process.env.DB_PW,
host: "localhost",
port: 5432,
database: "store",
max: 20,
connectionTimeoutMillis: 0,
idleTimeoutMillis: 0
});
module.exports = {
query: (text, params) => {
return pool.query(text, params)
}
}
const express = require('express');
const router = express.Router();
const db = require("../database");
//Comics
router.get('/collection/comics', async(req, res) => {
try{
const { id } = req.params;
const item = await db.query("SELECT * FROM collection", [id]);
}catch(err){
console.log(err);
}
res.render('comics', {title: 'Comics', condition: false});
})
...
module.exports = router;
database.js
const express = require('express');
const app = express();
const db = require("./database");
const adminRouter = require('./routes/admin');
const homeRouter = require('./routes/home');
const aboutRouter = require('./routes/about');
const collectionRouter = require('./routes/collection');
const contactRouter = require('./routes/contact');
app.use(express.static('public'));
app.listen(3000, function(){
console.log("Server Running...");
})
app.use(db.query);
app.use(adminRouter);
app.use(homeRouter);
app.use(aboutRouter);
app.use(collectionRouter);
app.use(contactRouter);
const express = require('express');
const Pool = require('pg').Pool;
const router = express.Router();
//insures that the .env file is only run in a development environment and not a production environment
if(process.env.NODE_ENV !== 'production'){
//requires the the .env file configuration be run first hiding all info hidden via the .env file
require('dotenv').config();
}
const pool = new Pool({
user: "postgres",
password: process.env.DB_PW,
host: "localhost",
port: 5432,
database: "store",
max: 20,
connectionTimeoutMillis: 0,
idleTimeoutMillis: 0
});
module.exports = {
query: (text, params) => {
return pool.query(text, params)
}
}
const express = require('express');
const router = express.Router();
const db = require("../database");
//Comics
router.get('/collection/comics', async(req, res) => {
try{
const { id } = req.params;
const item = await db.query("SELECT * FROM collection", [id]);
}catch(err){
console.log(err);
}
res.render('comics', {title: 'Comics', condition: false});
})
...
module.exports = router;
路线
const express = require('express');
const app = express();
const db = require("./database");
const adminRouter = require('./routes/admin');
const homeRouter = require('./routes/home');
const aboutRouter = require('./routes/about');
const collectionRouter = require('./routes/collection');
const contactRouter = require('./routes/contact');
app.use(express.static('public'));
app.listen(3000, function(){
console.log("Server Running...");
})
app.use(db.query);
app.use(adminRouter);
app.use(homeRouter);
app.use(aboutRouter);
app.use(collectionRouter);
app.use(contactRouter);
const express = require('express');
const Pool = require('pg').Pool;
const router = express.Router();
//insures that the .env file is only run in a development environment and not a production environment
if(process.env.NODE_ENV !== 'production'){
//requires the the .env file configuration be run first hiding all info hidden via the .env file
require('dotenv').config();
}
const pool = new Pool({
user: "postgres",
password: process.env.DB_PW,
host: "localhost",
port: 5432,
database: "store",
max: 20,
connectionTimeoutMillis: 0,
idleTimeoutMillis: 0
});
module.exports = {
query: (text, params) => {
return pool.query(text, params)
}
}
const express = require('express');
const router = express.Router();
const db = require("../database");
//Comics
router.get('/collection/comics', async(req, res) => {
try{
const { id } = req.params;
const item = await db.query("SELECT * FROM collection", [id]);
}catch(err){
console.log(err);
}
res.render('comics', {title: 'Comics', condition: false});
})
...
module.exports = router;
app.use(db.query)代码>-呃,别那样做?@Bergi谢谢你帮了大忙。我一定是误解了我使用的参考资料中的某些内容。