Заголовок вопроса в основном говорит сам за себя, но перефразируя его:
Что обрабатывает выполнение асинхронной функции, если основной (и единственный) поток занят обработкой основного блока кода?
До сих пор я только обнаружил, что асинхронный код выполняется в другом месте или вне основного потока, но что это конкретно означает?
РЕДАКТИРОВАТЬ: Предлагаемый Node.js Цикл событий Ответы на вопрос также могут затрагивать эту тему, но я искал менее сложный, более конкретный ответ, а не объяснение концепции Node.js.Кроме того, оно не отображается при поиске чего-либо, похожего на «узел асинхронный однопоточный».
EDIT, @Mr_Thorynque: Выполнение запроса для получения данных из базы данных и записи их в консоль.Ничего не регистрируется, потому что Node, будучи асинхронным, не ожидает завершения запроса и заполнения data .(это просто пример по запросу, а не часть моего вопроса)
var = data;
mysql.query(`SELECT *some rows from database*`, function (err, rows, fields) {
rows.forEach(function(row){
data += *gather the requested data*
});
});
console.log(data);