У меня возникла проблема с функцией запроса, использующей node-postgres.
Выбор, вставка и удаление успешно выполняют запрос к базе данных, но вставки и удаления вызывают эту ошибку на сервере узла:
/vagrant/catalog/database/db.js:11
done();
^
TypeError: undefined is not a function
at null.callback (/vagrant/catalog/database/db.js:11:17)
at p.handleReadyForQuery (/vagrant/catalog/node_modules/pg/lib/query.js:78:10)
at null.<anonymous> (/vagrant/catalog/node_modules/pg/lib/client.js:111:24)
at emit (events.js:117:20)
at Socket.<anonymous> (/vagrant/catalog/node_modules/pg/lib/connection.js:47:12)
at Socket.emit (events.js:95:17)
at Socket.<anonymous> (_stream_readable.js:765:14)
at Socket.emit (events.js:92:17)
at emitReadable_ (_stream_readable.js:427:10)
at emitReadable (_stream_readable.js:423:5)
Вот функция запроса:
var pg = require('pg');
var connectionString = 'postgres://vagrant:vagrant@localhost:5432/catalog';
module.exports = {
query: function(text, values, callback) {
pg.connect(connectionString, function(err, client, done) {
client.query(text, values, function(err, result) {
if (err) throw err;
done();
callback(err, result);
});
});
}
};
Который вызывается конечными точками, такими как:
app.delete(api + '/games/:id', function(req, res) {
query('DELETE FROM videogame WHERE id=$1', [req.params.id], function(err, result) {
if (err) throw err;
return res.json({'success': true});
});
});
Любая идея, что вызывает это?
pg
вы используете? - person robertklep   schedule 04.08.2015err
при подключении, возможноdone
не предусмотрено в случае ошибки - person Kirill Slatin   schedule 04.08.2015client.query()
тоже не сработает (я проверял). - person robertklep   schedule 04.08.20154.4.1
- person robertklep   schedule 04.08.2015undefined
- person Kirill Slatin   schedule 04.08.2015callback()
не определено - person mysterpaul   schedule 04.08.2015callback
- это функция, которую вы определяете в своем собственном коде. - person robertklep   schedule 04.08.2015