javascript — node-postgres: [ошибка] Этот сокет был завершен другой стороной

node-postgres: [ошибка] Этот сокет был завершен другой стороной

Я использую node-protgres для манипулирования БД в моем приложении nodejs.

Что я сделал:

 const { Pool, Client } = require('pg') var dbconnect = { user: 'xxxxx', database: 'xxxxx', password: 'xxxxx', host: 'xxxxx.yyyyy.zzzzz.eu-west-1.rds.amazonaws.com', port: 0000, max: 20, // max number of clients in the pool idleTimeoutMillis: 30000, connectionTimeoutMillis: 2000 }; const pool = new Pool(dbconnect); pool.on('error', function (err, client) { console.error('idle client error', err.message, err.stack) }); function listOfPets(req, res) { pool.connect(function (err, client, done) { if (err) { return console.error('error fetching client from pool', err); } var sql = "SELECT * FROM pets" client.query(sql, function (err, result) { done(); if (err) { return console.error('error running query', err); } ... //Handle the result }); }); } 

Функция работает нормально, однако сервер продолжает посылать мне сообщение об ошибке ОК до серьезного. Я проверил журнал:

ошибка незанятого клиента Этот сокет был завершен другой стороной Ошибка: этот сокет был завершен другой стороной в Socket.writeAfterFIN [as write] (net.js: 291: 12) в Connection.end (/ var / app / current / node_modules / pg / lib / connection.js: 313: 22) в global.Promise (/var/app/current/node_modules/pg/lib/client.js:410:23) в Client.end (/ var / app / current / node_modules / pg / lib / client.js: 409: 12) в Pool._remove (/var/app/current/node_modules/pg-pool/index.js:135:12) в Timeout.setTimeout (/ var / app / current / node_modules / pg-pool / index.js: 38: 12) в ontimeout (timers.js: 365: 14) в tryOnTimeout (timers.js: 237: 5) в Timer.listOnTimeout (timers.js) : 207: 5)

Я думаю, что проблема возникла из-за того, что «done ()» не работает или было помещено не в том месте.

Любое предложение приветствуется.

Понравилась статья? Поделиться с друзьями:
JavaScript & TypeScript
Adblock
detector