ObjectEventEmitter
EventEmitter — это объект, запускающий события, который можно использовать для создания шаблона наблюдателя. Все объекты, поддерживающие запуск событий, наследуются от этого объекта.
Когда событие инициируется, все прослушиватели, связанные с этим событием, вызываются асинхронно. Это также позволяет нам создавать код, который легко настраивается и гибок.
Обычно используемые функции включают: addListener/on, Once, RemoveListener/Off, RemoveAllListeners и Emit.
Вот пример кода:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23var fs = require('fs');
var EventEmitter = require('events');
var event = new EventEmitter();
event.on('read_file', function(filename) {
fs.readFile(filename, 'utf8', function(err, data) {
if (err) {
event.emit('error', err);
return;
}
event.emit('show_content', data);
});
});
event.on('error', function(err) {
console.log(`Error ${err}`);
});
event.on('show_content', function(content) {
console.log(content);
});
event.emit('read_file', 'test.txt');
event.emit('read_file', 'test.txt')
При запуске приведенного выше примера кода событие экземпляра источника событий сначала прослушивает событие read_file, а затем запускает операцию чтения файла при срабатывании события ( ). При успешном чтении будет вызвано событие «show_content». В это время будет выполнена функция, которая прослушивала событие «show_content», и отобразится содержимое файла. Если при чтении файла возникает ошибка, запускается событие «ошибка» и обрабатывается сбой операции.
Эта модель имеет большие преимущества в бизнес-сценариях, связанных с асинхронными операциями.
отношения наследства
Конструктор
EventEmitter
Конструктор
1new EventEmitter();
объект
объект триггера события
1EventEmitter new EventEmitter;
статические свойства
defaultMaxListeners
Целое число, глобальное максимальное количество слушателей по умолчанию.
1static Integer EventEmitter.defaultMaxListeners;
функция-член
on
Привязать обработчик событий к объекту
1
2Object EventEmitter.on(String ev,
Function func);
Параметры звонка:
- ev: строка, указывает название события.
- func: Функция, укажите функцию обработки событий.
Результаты возврата:
- Object, возвращает сам объект события для облегчения цепных вызовов
Привязать обработчик событий к объекту
1Object EventEmitter.on(Object map);
Параметры звонка:
- map: Объект, определяет связь сопоставления событий, имя атрибута объекта будет использоваться в качестве имени события, а значение атрибута будет использоваться в качестве функции обработки событий.
Результаты возврата:
- Object, возвращает сам объект события для облегчения цепных вызовов
addListener
Привязать обработчик событий к объекту
1
2Object EventEmitter.addListener(String ev,
Function func);
Параметры звонка:
- ev: строка, указывает название события.
- func: Функция, укажите функцию обработки событий.
Результаты возврата:
- Object, возвращает сам объект события для облегчения цепных вызовов
Привязать обработчик событий к объекту
1Object EventEmitter.addListener(Object map);
Параметры звонка:
- map: Объект, определяет связь сопоставления событий, имя атрибута объекта будет использоваться в качестве имени события, а значение атрибута будет использоваться в качестве функции обработки событий.
Результаты возврата:
- Object, возвращает сам объект события для облегчения цепных вызовов
prependListener
Привяжите обработчик событий к источнику объекта
1
2Object EventEmitter.prependListener(String ev,
Function func);
Параметры звонка:
- ev: строка, указывает название события.
- func: Функция, укажите функцию обработки событий.
Результаты возврата:
- Object, возвращает сам объект события для облегчения цепных вызовов
Привяжите обработчик событий к источнику объекта
1Object EventEmitter.prependListener(Object map);
Параметры звонка:
- map: Объект, определяет связь сопоставления событий, имя атрибута объекта будет использоваться в качестве имени события, а значение атрибута будет использоваться в качестве функции обработки событий.
Результаты возврата:
- Object, возвращает сам объект события для облегчения цепных вызовов
once
Привяжите к объекту одноразовый обработчик событий. Одноразовый обработчик будет срабатывать только один раз.
1
2Object EventEmitter.once(String ev,
Function func);
Параметры звонка:
- ev: строка, указывает название события.
- func: Функция, укажите функцию обработки событий.
Результаты возврата:
- Object, возвращает сам объект события для облегчения цепных вызовов
Привяжите к объекту одноразовый обработчик событий. Одноразовый обработчик будет срабатывать только один раз.
1Object EventEmitter.once(Object map);
Параметры звонка:
- map: Объект, определяет связь сопоставления событий, имя атрибута объекта будет использоваться в качестве имени события, а значение атрибута будет использоваться в качестве функции обработки событий.
Результаты возврата:
- Object, возвращает сам объект события для облегчения цепных вызовов
prependOnceListener
Привяжите обработчик событий к источнику объекта
1
2Object EventEmitter.prependOnceListener(String ev,
Function func);
Параметры звонка:
- ev: строка, указывает название события.
- func: Функция, укажите функцию обработки событий.
Результаты возврата:
- Object, возвращает сам объект события для облегчения цепных вызовов
Привяжите обработчик событий к источнику объекта
1Object EventEmitter.prependOnceListener(Object map);
Параметры звонка:
- map: Объект, определяет связь сопоставления событий, имя атрибута объекта будет использоваться в качестве имени события, а значение атрибута будет использоваться в качестве функции обработки событий.
Результаты возврата:
- Object, возвращает сам объект события для облегчения цепных вызовов
off
Отменить назначение функции из очереди обработки объекта
1
2Object EventEmitter.off(String ev,
Function func);
Параметры звонка:
- ev: строка, указывает название события.
- func: Функция, укажите функцию обработки событий.
Результаты возврата:
- Object, возвращает сам объект события для облегчения цепных вызовов
Отменить все функции в очереди обработки объекта
1Object EventEmitter.off(String ev);
Параметры звонка:
- ev: строка, указывает название события.
Результаты возврата:
- Object, возвращает сам объект события для облегчения цепных вызовов
Отменить назначение функции из очереди обработки объекта
1Object EventEmitter.off(Object map);
Параметры звонка:
- map: Объект, определяет связь сопоставления событий, имя атрибута объекта используется в качестве имени события, а значение атрибута используется в качестве функции обработки событий.
Результаты возврата:
- Object, возвращает сам объект события для облегчения цепных вызовов
removeListener
Отменить назначение функции из очереди обработки объекта
1
2Object EventEmitter.removeListener(String ev,
Function func);
Параметры звонка:
- ev: строка, указывает название события.
- func: Функция, укажите функцию обработки событий.
Результаты возврата:
- Object, возвращает сам объект события для облегчения цепных вызовов
Отменить все функции в очереди обработки объекта
1Object EventEmitter.removeListener(String ev);
Параметры звонка:
- ev: строка, указывает название события.
Результаты возврата:
- Object, возвращает сам объект события для облегчения цепных вызовов
Отменить назначение функции из очереди обработки объекта
1Object EventEmitter.removeListener(Object map);
Параметры звонка:
- map: Объект, определяет связь сопоставления событий, имя атрибута объекта используется в качестве имени события, а значение атрибута используется в качестве функции обработки событий.
Результаты возврата:
- Object, возвращает сам объект события для облегчения цепных вызовов
removeAllListeners
Отменяет все прослушиватели всех событий из очереди обработки объекта. Если событие указано, удаляются все прослушиватели указанного события.
1Object EventEmitter.removeAllListeners(String ev);
Параметры звонка:
- ev: строка, указывает название события.
Результаты возврата:
- Object, возвращает сам объект события для облегчения цепных вызовов
Отменяет все прослушиватели всех событий из очереди обработки объекта. Если событие указано, удаляются все прослушиватели указанного события.
1Object EventEmitter.removeAllListeners(Array evs = []);
Параметры звонка:
- evs: Массив, укажите название события
Результаты возврата:
- Object, возвращает сам объект события для облегчения цепных вызовов
setMaxListeners
Ограничение количества прослушивателей по умолчанию, только для совместимости.
1EventEmitter.setMaxListeners(Integer n);
Параметры звонка:
- n: Целое число, укажите количество событий
getMaxListeners
Получает предельное количество прослушивателей по умолчанию, только для совместимости.
1Integer EventEmitter.getMaxListeners();
Результаты возврата:
- Integer, возвращает лимитируемое количество по умолчанию
listeners
Запросить массив прослушивателей для указанного события объекта
1Array EventEmitter.listeners(String ev);
Параметры звонка:
- ev: строка, указывает название события.
Результаты возврата:
- Array, возвращает массив прослушивателей для указанного события
listenerCount
Запрос количества прослушивателей для указанного события объекта
1Integer EventEmitter.listenerCount(String ev);
Параметры звонка:
- ev: строка, указывает название события.
Результаты возврата:
- Integer, возвращает количество прослушивателей указанного события
Запрос количества прослушивателей для указанного события объекта
1
2Integer EventEmitter.listenerCount(Value o,
String ev);
Параметры звонка:
- o: Значение, указывает объект запроса.
- ev: строка, указывает название события.
Результаты возврата:
- Integer, возвращает количество прослушивателей указанного события
eventNames
Имя события прослушивателя запроса
1Array EventEmitter.eventNames();
Результаты возврата:
- Array, возвращает массив имен событий
emit
Активно запускать событие
1
2Boolean EventEmitter.emit(String ev,
...args);
Параметры звонка:
- ev: строка, имя события
- args: ..., параметры события будут переданы в функцию обработки событий
Результаты возврата:
- Boolean, возвращает статус триггера события, возвращает true, если есть ответное событие, в противном случае возвращает false
toString
Возвращает строковое представление объекта. Обычно возвращается «[Native Object]». Объект может быть повторно реализован в соответствии с его собственными характеристиками.
1String EventEmitter.toString();
Результаты возврата:
- String, возвращает строковое представление объекта
toJSON
Возвращает представление объекта в формате JSON, обычно возвращая коллекцию читаемых свойств, определенных объектом.
1Value EventEmitter.toJSON(String key = "");
Параметры звонка:
- key: Строка, не используется.
Результаты возврата:
- Value, возвращает значение, содержащее сериализуемый JSON