Nodejs. Оброблювач подій.

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

А на цьому сьогодні все. Дякую за увагу!

Поділися в соціальних мережах:

Схожі
Обробка подій на jqueryОбробка подій на jquery
Стрілочні функції в es6.Стрілочні функції в es6.
Nodejs. Що таке pipe ().Nodejs. Що таке pipe ().
Nodejs. Template engine. Частина 1.Nodejs. Template engine. Частина 1.
Стандартна модель подій в мові jаvascript.Стандартна модель подій в мові jаvascript.
Подія прокрутки коліщатка миші в jаvascriptПодія прокрутки коліщатка миші в jаvascript
Nodejs. Модулі.Nodejs. Модулі.
Nodejs. Вступ.Nodejs. Вступ.
Nodejs. Починаємо роботу з express.Nodejs. Починаємо роботу з express.
Nodejs. Потоковий висновок html сторінки.Nodejs. Потоковий висновок html сторінки.
» » Nodejs. Оброблювач подій.