Вы можете передать функцию обратного вызова функции executeQuery
. Что-то вроде ниже
var executeQuery = function (querystring, myCallbackFunction) {
connection.connect(function (err) {
if (err) throw err;
console.log("connected to database successfully");
connection.query(querystring, function (err, rows) {
if (err) throw err;
console.log(rows);
myCallbackFunction(rows);
});
});
}
const myCallbackFunction = function(rows) {
// do stuff here with rows
}
executeQuery(querystring, myCallbackFunction)
Вы также можете принять подход, основанный на обещаниях
var executeQuery = function (querystring) {
return new Promise((resolve, reject) => {
connection.connect(function (err) {
if (err) throw err;
console.log("connected to database successfully");
connection.query(querystring, function (err, rows) {
if (err) throw err;
console.log(rows);
resolve(rown);
});
});
});
}
executeQuery(querystring).then((rown) => {
// do stuff here with rows
});
если вам нужно это в цикле, вы можете сделать
const allPromises= [];
for (let i = 0; i < loopLength; i+=1) {
allPromises.push(executeQuery(querystring));
}
Promise.all(allPromises).then((result) => {
// code here
}