Входящий запрос будет помещен в очередь в nodejs очереди событий до тех пор, пока nodejs не получит шанс обработать следующее событие (когда ваш обработчик событий выполняется долго).
Поскольку nodejs является управляемая событиями система, она получает событие из очереди событий, выполняет обратный вызов этого события до завершения, затем получает следующее событие, выполняет его до завершения и так далее. Внутренние элементы nodejs добавляют вещи, ожидающие запуска, в очередь событий, чтобы они были готовы к следующему циклу события l oop.
В зависимости от того, как внутренние элементы nodejs работает в сети, входящий запрос может быть помещен в очередь в ОС на некоторое время, а затем перемещен в очередь событий, пока nodejs не получит возможность обработать это событие.
Мой вопрос пока приложение был занят обработкой / route1, как обрабатывался запрос к / home, учитывая, что node js однопоточный?
Имейте в виду, что node.js запускает ваш Javascript как однопоточный (хотя мы теперь у вас есть рабочие потоки , если хотите), но он использует внутренние потоки для управления такими вещами, как файловый ввод-вывод и некоторые другие типы асинхронных операций. Это не нуждается в потоках для организации сети, все же. Это осуществляется с помощью реальных асинхронных интерфейсов из ОС.