Javascript 节点Postgres UnhandledPromisejectionWarning:错误:查询必须具有文本或名称。两者都不支持

Javascript 节点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

在尝试使用节点postgres池时,我当前收到以下未处理PromisejectionWarning错误,但我很难理解它来自何处以及需要查看哪些内容来修复它:

“(节点:14208)未处理的PromisejectionWarning:错误:查询必须 具有文本或名称。不支持两者都不提供。 ... (节点:14208)未处理的PromiserEjectionWarning:未处理的承诺 拒绝。此错误源于在异步 函数没有catch块,或者拒绝了 未使用.catch()处理。“

index.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;
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谢谢你帮了大忙。我一定是误解了我使用的参考资料中的某些内容。