Это действительно озадачивает меня, пока 4 дня назад все работало нормально и никаких проблем не возникало, но затем возникла проблема, когда два из моих заданий cron-демона перестали работать.
Я ничего не думал об этом и решил перестроить код и немного улучшить его, так как я получил больше понимания, так как файлы были закодированы впервые.
Вот проблема:
этот работает как положено на локальной машине
Object.keys(res).forEach(function(key) {
const row = res[key];
client.channels.get(row.forchannel).send({ embed });
console.log(row.forchannel);
});
и вот так:
res.forEach(function(row) {
client.channels.get(row.forchannel).send({ embed });
console.log(row.forchannel);
});
а также этот:
for (let i = 0; i < res.length; i++) {
console.log(res[i]);
client.channels.get(res[i].forchannel).send({ embed });
}
Проблема, с которой я столкнулся, заключается в том, что ни одна из них не работает, когда я загружаю на сервер в реальном времени, результаты запроса MySQL появляются, когда я консольный выход из цикла в режиме реального времени, консольный вход в цикл в режиме реального времени ничего не показывает, кроме последний блок кода, который я разместил, и это возвращает один результат.
Локальный компьютер - это windows, на котором работает Node v11.6, а в реальном времени - Ubuntu, на котором работает v11.12 узла.
Итак, подведем итог:
На работающем сервере эти вышеупомянутые циклы не работают, я могу вернуть массивы, когда консоль регистрирует данные вне циклов, но только на последнем из них отображаются какие-либо данные, когда консоль регистрируется внутри цикла.
На локальной машине все работает как положено. В обоих случаях отчеты о перехвате ошибок null
, поэтому ошибок нет.