archakov06
@archakov06
Frontend-разработчик (ReactJS)

NodeJS + MySQL: Cannot enqueue Query after invoking quit.?

var mysql = require('mysql');

class DB {

	constructor(){

		this.connection = mysql.createConnection({
		  host     : 'localhost',
		  user     : 'root',
		  password : '123',
		  database : 'test',
		  socketPath: '/Applications/MAMP/tmp/mysql/mysql.sock'
		});

		this.connection.config.queryFormat = (query, values) => {
			if (!values) return query;
				return query.replace(/\:(\w+)/g, (txt, key) => {
				if (values.hasOwnProperty(key)) {
					return mysql.escape(values[key]);
				}
				return txt;
			});
		};

		this.connection.connect();

	}

	query(q, params, callback){
		var _this = this;
		this.connection.query(q, params, (err, rows, fields) => {
			_this.connection.end();
			callback(err, rows, fields);
		});
	}

}

module.exports = DB;


На первом запросе все ок. Но, когда отправляется второй запрос на БД, то ошибка:
Error: Cannot enqueue Query after invoking quit.

Не могу понять в чем проблема, вроде _this.connection.end(); вызываю.
  • Вопрос задан
  • 808 просмотров
Решения вопроса 1
Negezor
@Negezor
Senior Shaurma Developer
А зачем такие громоздкие конструкции, может стоит использовать KnexJS?
Да и вы создаёте не poll, а это очень не хорошо.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы