В Express JS должен ли app.listen находиться в конце файла? - PullRequest
0 голосов
/ 28 апреля 2019

В большинстве руководств, использующих Express JS, функция app.listen всегда добавляется в конец файла. Я хочу понять, является ли это необходимым, поскольку все промежуточное программное обеспечение выполняется последовательно.

Большинство примеров показывают:

const express = require('express)
const app = express()

app.get('/', (req, res) => {
  res.send('Test')
}

app.listen(3000, () => {
  console.log('Server running on port 3000')
}

Есть ли причина, по которой этого не следует делать:

const express = require('express)
const app = express()

app.listen(3000, () => {
  console.log('Server running on port 3000')
}

app.get('/', (req, res) => {
  res.send('Test')
}

1 Ответ

0 голосов
/ 06 мая 2019

Я разработал ответ на этот вопрос, на случай, если кто-нибудь захочет его найти.

app.listen - это по сути функция-обертка, которая вызывает HTTP.createServer.

Из того, что я могу понятьcreateServer устанавливает прослушиватель событий в цикле событий.Когда операционная система получает HTTP-запрос на конкретный прослушиваемый порт, такой как порт 80, запрос обрабатывается экспресс-обработкой.

Поскольку createServer является асинхронной операцией, она выполняется в цикле обработки событий после выполнения основной программы.Поэтому не имеет значения, где находится этот код.Это в конце в большинстве примеров в качестве стандарта, а не технических требований.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...