<MyRusakov.ru />

Профессия Web-разработчик

Профессия Web-разработчик

Этот комплект за 8 месяцев превратит Вас в Web-разработчика с нуля. Учиться достаточно 1 час в день.

Начнёте Вы с HTML, CSS и вёрстки сайтов. Потом перейдёте к программированию и JavaScript. Затем изучите PHP, MySQL, SQL, Python. Изучите Web-фреймворки Laravel и Django. Создадите 5 своих сайтов для портфолио.

Комплект содержит:

- 540 видеоуроков

- 110 часов видео

- 1205 заданий для закрепления материала из уроков

- 5 финальных тестов

- 7 сертификатов

- 12 Бонусных курсов

Подробнее
Подписка

Подпишитесь на мой канал на YouTube, где я регулярно публикую новые видео.

YouTube Подписаться

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Какая тема Вас интересует больше?

NodeJS. Обработчик событий.

NodeJS. Обработчик событий.

Всем привет! В этой статье мы рассмотрим, как работает обработчик событий в NodeJS.

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

Давайте подключим модуль:

// файл app.js
var events = require('events');

Давайте рассмотрим конструктор EventEmitter.

var myEmitter = new events.EventEmitter();

Теперь мы можем использовать функционал событий. Например, вот так:

myEmitter.on('someEvent', function(message) {
  console.log(message);
});

Когда случится событие someEvent, вызовется функция, которая выведет переданное в нее сообщение.

Чтобы вызвать событие, мы должны написать следующее:

myEmitter.emit('someEvent', 'сообщение');

Метод emit принимает первым параметром событие, которое должно быть вызвано, а потом все необходимые аргументы. В нашем случае это сообщение.

Рассмотрим более интересный пример. Для этого нам нужно подключить еще один модуль с утилитами.

var util = require('util');

Создадим объект:

var Person = function(name) {
  this.name = name;
};

Допустим, что теперь мы хотим, чтобы все объекты Person наследовали EventEmitter. Для этого нужно сделать следующее:

util.inherits(Person, events.EventEmitter);

var james = new Person('James');
var mary = new Person('Mary');
var ryu = new Person('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.

А на этом сегодня все. Спасибо за внимание!

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (0):

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.