Я пытаюсь понять цель 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");
Из-за того, что Node.js работает с событиями и выполняет цикл событий, регистрация слушателей позволяет вам определять обратные вызовы, которые будут выполняться каждый раз, когда событие запускается. Таким образом, это также форма async. структурирование кода.
Его можно сравнить с прослушивателем графического интерфейса пользователя, который запускается при взаимодействии с пользователем. Подобно щелчку мыши, который запускает выполнение кода в вашем приложении с графическим интерфейсом, ваши слушатели в вашем примере будут запускаться, как только произойдет событие, то есть новый клиент подключается к сокету.
он регистрирует слушателя для "события". События идентифицируются строками, такими как "connect"
и "data"
. Второй аргумент - это функция, так называемый "обратный вызов", также называемый "обработчик событий". Всякий раз, когда происходит определенное событие в объекте, на который зарегистрированы слушатели, вызываются все обработчики.
node.js использует это, потому что в нем используется асинхронная модель выполнения, которая лучше всего может быть обработана с помощью событийно-ориентированного подхода.
greetz
back2dos