Такие вопросы часто возникают, пора их в FAQ какой-нибудь..
Прочитайте про колбэки, промисы и async/await.
В вашем коде – первое: колбэк –
function(err, results)
, которую вызовут позже, "потом", когда до-олгая операция запроса к БД завершится.
Короткий прямой ответ на вопрос: объявить функцию асинхронной и дождаться результата.
async function intervalParserGroup(connect) {
const queryAllTable = 'SHOW TABLES FROM communities_auto';
const arrAllNameTable = [];
await new Promise((resolve, reject) => {
connect.query(queryAllTable, (err, results) => {
if (err) reject(err);
arrAllNameTable.push(results);
resolve();
});
});
console.log(arrAllNameTable);
}