Nodejs. Оброблювач подій.
Всім привіт! У цій статті ми розглянемо, як працює обробник подій в NodeJS.
У минулій статті ми розглянули, як писати і підключати свої модулі в платформу, але крім цього в самому NodeJS вже вбудовано безліч різних модулів, які ми можемо просто підключити і використовувати їх функціонал.
Давайте підключимо модуль:
// файл app.js
var events =require(`Events`) -
Давайте розглянемо конструктор EventEmitter.
Відео: Уроки jаvascript | Урок №13 - Події і обробник подій
var myEmitter =new events.EventEmitter() -
Тепер ми можемо використовувати функціонал подій. Наприклад, ось так:
myEmitter.on(`SomeEvent`,function(message){
console.log(message) -
}) -
Коли трапиться подія someEvent, зголоситься функція, яка виведе передане в неї повідомлення.
Щоб викликати подія, ми повинні написати наступне:
myEmitter.emit(`SomeEvent`,`повідомлення`) -
метод emit приймає першим параметром подія, яка повинна бути викликано, а потім всі необхідні аргументи. У нашому випадку це повідомлення.
Розглянемо більш цікавий приклад. Для цього нам потрібно підключити ще один модуль з утилітами.
var util =require(`Util`) -
Створимо об`єкт:
varPerson=function(name){
this.name = name-
} -
Припустимо, що тепер ми хочемо, щоб всі об`єкти Person успадковували EventEmitter. Для цього потрібно зробити наступне:
Відео: Уроки jаvascript | # 14 - Обробка подій
util.inherits(Person, events.EventEmitter) -
var james =newPerson(`James`) -
var mary =newPerson(`Mary`) -
var ryu =newPerson(`Ryu`) -
var people =[james, mary, ryu] -
people.forEach(function(person){
person.on(`Speak`,function(message){
console.log(person.name +"Сказав:"+ message) -
}) -
}) -
james.emit(`Speak`,`Всім привіт!`) -
Тут ми спочатку використовуємо метод inherits у модуля util, щоб Person почав наслідувати EventEmitter, потім створюємо кілька об`єктів Person, створюємо змінну, куди поміщаємо всі посилання на об`єкти, потім в циклі перебираємо весь масив і кожному вішаємо подія speak, при виклику якого повинна викликатися функція, яка виведе ім`я, а потім текст повідомлення. Щоб викликати подія, ми використовуємо вже відомий нам метод emit.
Відео: Node JS Tutorial for Beginners # 8 - The Node Event Emitter
А на цьому сьогодні все. Дякую за увагу!
- Nodejs. Як відправити дані в форматі json.
- Nodejs. Як зчитувати дані з потоку.
- Nodejs. Що таке pipe ().
- Nodejs. Як записувати дані в потік.
- Nodejs. Що таке middleware і статичні файли.
- Nodejs. Як працюють function expression.
- Nodejs. Як створити "список справ". Частина 2.
- Стрілочні функції в es6.
- Nodejs. Шаблони модулів.
- Nodejs. Починаємо роботу з express.
- Nodejs. Движок v8.
- Nodejs. Параметри маршрутизації в express.
- Подія прокрутки коліщатка миші в jаvascript
- Nodejs. Створення та видалення директорій.
- Nodejs. Модулі.
- Nodejs. Глобальний об`єкт.
- Обробка подій на jquery
- Nodejs. Template engine. Частина 1.
- Nodejs. Запис і читання файлів.
- Nodejs. Потоковий висновок html сторінки.
- Стандартна модель подій в мові jаvascript.