Как работает Node.js?
Этот вопрос помогает оценить понимание принципов работы Node.js, включая его асинхронную модель и одно поточное выполнение.
Короткий ответ
Node.js работает на основе событийно-ориентированной и асинхронной модели ввода-вывода. Он использует Event Loop для обработки задач, что позволяет обрабатывать множество запросов без блокировки основного потока.
Длинный ответ
Node.js работает на движке V8, который исполняет JavaScript-код. В отличие от традиционных серверов, которые создают отдельный поток для каждого запроса, Node.js использует один поток и Event Loop для асинхронного выполнения задач. Запросы обрабатываются неблокирующе: пока выполняется одна задача (например, чтение файла), сервер может обрабатывать другие задачи. Это делает Node.js быстрым и эффективным для I/O-интенсивных приложений, таких как API или чаты.
Пример работы асинхронности:
const fs = require('fs');
console.log('Start');
fs.readFile('example.txt', 'utf-8', (err, data) => {
if (err) throw err;
console.log(data);
});
console.log('End');