суть в чем. есть объект db, который работает с базой. У этого объекта есть метод done, который вызывается при приходе данных с базы. Сам объект db это обертка над mysql модулем, а метод done это просто callback функция на приход данных от запроса к базе.
Все выглядит так:
var headObj = this;
this.done = function (res) {
console.log("Данные из базы пришли, хендлера нет. Первая строка данных: ", res[0]);
};
this.q = function (sql, arr) {
connection.query(sql, arr, function (err, rows) {
if (err) throw "Ошибка запроса к базе: " + err;
headObj.done(rows);
//headObj.done = function () {};
});
};
мне часто надо делать подобные запросы типа
x.done = function(){
x.done = function(){
.......
};
x.q(sql2);
};
x.q(sql)
но суть в том что при втором вызове done срабатывает первый тоже, а обнулять функцию done тоже не панацея, потому что в рекурсии мне надо использовать done а он при первом использовании затирается. Как быть?