В файле node.js, который при наследовании листов дает .connection.destroy () для объекта res - PullRequest
0 голосов
/ 20 ноября 2018

enter image description here .connection.destroy ()

Использование простого http.createserver для установки сервера и superagent для выполнения запроса У меня возникают проблемы с пониманием следующего:

  1. Откуда взялся метод .connection.destroy()
  2. Как объект res получил его, и я не смог найти его в документации.
  3. Какой объекткак это определение метода и как он был унаследован res объектом?

Я оказался в ситуации, когда раньше использовал req.on, и обнаружил, что это потому, что req был IncommingMessage который был Stream.Readable, который унаследовал EventEmmiter, который имеет метод .on, и поэтому req имел метод .on из этого наследования.

Я хотел бы видеть это обратное отношение для этого connection.destroy() на объекте res на этот раз, если это возможно.

Я использую книгу «Создание корпоративных приложений javascript», к сожалению, код не очень хорошо хранится на github, версия github значительно продвинулась до такой степениэто уже былоРазобран / изменен, но вы можете найти его на этом github

1 Ответ

0 голосов
/ 20 ноября 2018

Возвращаясь к моим шагам, я нашел

res> ServerResponse> .connection> net.Socket> socket.destroy ([исключение])

res параметрсозданный http.createServer на самом деле является ServerResponse (который я уже знал)

serverResponse реализует .connection

response.connection # Добавлено в:v0.3.0 См. response.socket.

, который реализует net.Socket , который реализует .destroy ()

socket.destroy ([исключение]) # Добавлено в: v0.1.90 исключение Возвращает: Гарантирует, что в этом сокете больше не будет операций ввода-вывода.Требуется только в случае ошибок (ошибка синтаксического анализа или около того).

Если указано исключение, будет сгенерировано событие error, и любые слушатели этого события получат исключение в качестве аргумента.

Я до сих пор удивляюсь, почему бы не res.connection.socket.destroy () Это должно быть потому, что соединение - это создание экземпляра объекта Socket конструктором, а уничтожение сокета на сокете документацией net.Socket - это просто вызовк этому экземпляру в качестве дидактической ссылки, используемой в документации.

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