Код ниже представляет собой простой веб-сервер Node.js, который отвечает на запрос, когда URL-адрес совпадает.
В онлайн-исследовании о node.js утверждается, что как только вы запустите ваш сценарий (node index.js
), обратные вызовы будут помещены в соответствующую фазу, а затем после анализа вашего сценария процесс узла войдет в цикл обработки событий ивыполнить соответствующие обратные вызовы, специфичные для фазы.Узел завершится, если больше нет обратных вызовов, которые нужно выполнить.
Поэтому мой вопрос заключается в том, если обработчик запросов запускается в первый раз, когда я посещаю home page "/"
ИЛИ Hello Page "/hello
", почему узел все еще остается?выполняется даже после последующих запросов.
const http = require('http');
const server = http.createServer((req,res) => {
if(req.url === "/") {
res.end("Home Page")
}
else if(req.url === "/hello") {
res.end("Hello Page")
}
else {
res.end("Page Not Found")
}
})
server.listen(5000)
Я ожидаю, что после того, как обработчик запросов будет выполнен, он должен быть удален из любой фазы, в которую он был помещен, следовательно, узел должен завершиться. Так что удерживает программу Node отвыход