Что делает addListener в node.js? - PullRequest
       34

Что делает addListener в node.js?

9 голосов
/ 29 апреля 2010

Я пытаюсь понять назначение addListener в node.js . Может кто-нибудь объяснить, пожалуйста? Спасибо! Простой пример будет:

var tcp = require('tcp');
var server = tcp.createServer(function (socket) {
  socket.setEncoding("utf8");
  socket.addListener("connect", function () {
    socket.write("hello\r\n");
  });
  socket.addListener("data", function (data) {
    socket.write(data);
  });
  socket.addListener("end", function () {
    socket.write("goodbye\r\n");
    socket.end();
  });
});
server.listen(7000, "localhost");

Ответы [ 2 ]

8 голосов
/ 29 апреля 2010

В связи с тем, что Node.js работает на основе событий и выполняет цикл обработки событий, регистрация прослушивателей позволяет вам определять обратные вызовы, которые будут выполняться при каждом запуске события. Таким образом, это также форма асинхронности. структурирование кода.

Это сопоставимо со слушателем GUI, который запускает взаимодействие с пользователем. Подобно щелчку мыши, который запускает выполнение кода в приложении с графическим интерфейсом, ваши слушатели в вашем примере будут запущены, как только произойдет событие, то есть новый клиент подключится к сокету.

1 голос
/ 29 апреля 2010

регистрирует слушателя для «события». События обозначаются строками, такими как "connect" и "data". Второй аргумент - это функция, так называемый «обратный вызов», также называемый «обработчиком события». Всякий раз, когда в объекте, к которому зарегистрированы слушатели, происходит определенное событие, все обработчики вызываются.

node.js использует это, поскольку использует асинхронную модель выполнения, которую лучше всего обрабатывать с помощью подхода, управляемого событиями.

Greetz
back2dos

...