插入数据后出现“写后结束”错误

时间:2019-06-28 23:19:19

标签: node.js reactjs postgresql express

我正在使用express处理与我的postgres数据库的连接。我在前端使用React JS。数据可以很好地写入数据库,但是每次插入后我都必须重新启动服务器,因为会出现“ Write after end”错误。这是我认为是导致问题的server.js文件的一部分:

    pool.connect((err, db, done) => {
     if(err) {
         return response.status(400).send(err);
     } else {
         db.query('INSERT INTO news (headline, date, content, images, id, snippet, author) VALUES($1, $2, $3, $4, $5, $6, $7)',[...values], (err, table) => {
             done();
             if (err) {
                 return response.status(400).send(err);
             } else {
                 console.log('DATA INSERTED');
                 db.end();
             }
         })
     }
 })

请让我知道您对如何处理此问题的想法。

1 个答案:

答案 0 :(得分:0)

因此,问题似乎出在“ db.end()”部分。一旦删除并添加了respsonse.status(201),错误就会消失。这是我更新的代码:

    pool.connect((err, db, done) => {
     if(err) {
         return response.status(400).send(err);
     } else {
         db.query('INSERT INTO news (headline, date, content, images, id, snippet, author) VALUES($1, $2, $3, $4, $5, $6, $7)',[...values], (err, table) => {
             done();
             if (err) {
                 return response.status(400).send(err);
             } else {
                 return response.status(201).send(`Data Inserted`);
             }
         })
     }
 })