В этой части учебника мы рассмотрим что такое события в Node.js, так как это немного отличается от чистого JavaScript.
Что такое события Node.js:
Событие в Node.js это не то что в стандартном JavaScript, они нужны для ускорения сайта, за счёт чего опять же Node.js используется во многих задачах.
Это всё работает достаточно просто, в начале он инициализирует собственные переменные и функции, а потом ждём когда запуститься события.
В приложение есть цикл, который отслеживает событие, и когда найдёт одно из событий, то запускает функцию обратного вызова, так это и работает.
Для чего нудны события в Node.js:
События в Node.js нужны для создания API, чтобы программисты которые используют ваш код или другие части вашего кода, могли быстро подписаться к ним, при этом не зная это заранее.
Работа с событиями в Node.js:
Теперь перейдём к работе, а работать с этим достаточно легко, давайте создадим небольшой пример:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | const Emitter = require("events"); let emitter = new Emitter(); let eventName = "hello"; emitter.on(eventName, function(){ console.log("Hello all!"); }); emitter.on(eventName, function(){ console.log("Hello world!"); }); emitter.emit(eventName); |
В целом тут всё достаточно просто, в начале мы импортируем модуль Emitter
, он нам нужен для создания и отслеживания событий, создаём объект класса Emitter
, и создаём переменную eventName
, она будет хранить название события.
После мы используем два метода, вот для чего каждый из них нужен:
- emitter.on(event, callbeck) — Привязывает к событию event функцию обработчик callbeck;
- emitter.emit(event) — Ищет всё обработчики и вызывает их;
То есть в начале мы создаём обработчики событий для события hello
, потом ищем их все, вот что получается:
Как видите emit()
вызвал все обработчика которые мы назначили, также в него можно передавать данные, вот как это будет выглядеть:
1 2 3 4 5 | emitter.on(eventName, function(data){ console.log(data); }); emitter.emit(eventName, "Hello!"); |
Тут всё так просто, что я даже рассказывать нечего не буду, у нас в консоли должно вывестись «Hello!», вот и всё.
Также вы можете в классах и объектах использовать события, и потом ещё всё это наследовать, суть примерно такая же как и с обычными объектами, чтобы понять это, почитайте учебник по ООП в JavaScript.
Вывод:
В этой части учебника вы прочитали, что такое в Node.js события, для чего нужны, и основы работы с ними, но тут было только самое основное.