Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit fab43b2

Browse files
Changes in EventEmitter examples
1 parent 4291822 commit fab43b2

File tree

5 files changed

+23
-11
lines changed

5 files changed

+23
-11
lines changed

‎EventEmitter/application.js renamed to ‎EventEmitter/enhancedDemo.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
'use strict';
22

33
global.api = {};
4-
require('./events.js');
4+
require('./enhancedEventEmitter.js');
55

66
global.application = api.events.enhancedEventEmitter();
77

‎EventEmitter/events.js renamed to ‎EventEmitter/enhancedEventEmitter.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@
33
global.api = {};
44
api.events = require('events');
55

6-
api.events.enhancedEventEmitter = ()=> {
6+
api.events.enhancedEventEmitter = function() {
77
let ee = new api.events.EventEmitter(),
88
emit = ee.emit;
9-
ee.emit = (...args)=> {
9+
ee.emit = function(...args) {
1010
emit.apply(ee, args);
1111
args.unshift('*');
1212
emit.apply(ee, args);

‎EventEmitter/simpleDemo.js

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
'use strict';
2+
3+
global.api = {};
4+
require('./simpleEventEmitter.js');
5+
6+
global.application = new EventEmitter();
7+
8+
application.on('smth', (data) => {
9+
console.dir(data);
10+
});
11+
12+
application.emit('smth', { a: 5 });

‎EventEmitter/emitter.js renamed to ‎EventEmitter/simpleEventEmitter.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
'use strict';
22

33
global.EventEmitter = function() {
4-
this.events = {};
4+
this.events = {/* hash of array of function */};
55
};
66

7-
EventEmitter.prototype.on = (name, callback)=> {
7+
EventEmitter.prototype.on = function(name, callback) {
88
this.events[name] = this.events[name] || [];
99
this.events[name].push(callback);
1010
};
1111

12-
EventEmitter.prototype.emit = (name, data)=> {
12+
EventEmitter.prototype.emit = function(name, data) {
1313
let event = this.events[name];
1414
if (event) event.forEach((callback) => {
1515
callback(data);

‎README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
## Событийно-ориентированное программирование
22

33
* Каталог `/EventEmitter`
4-
- `emitter.js` - простейшая реализация EventEmitter
5-
- `events.js` - расширенная версию EventEmitter для Node.js
4+
- `simpleEventEmitter.js` - простейшая реализация EventEmitter
5+
- `enhancedEventEmitter.js` - расширенная версию EventEmitter для Node.js
66
* Каталог 'LiveTable' - пример таблицы, которая синхронизируется
77
между несколькими браузерами через отправку событий по Websocket.
88

@@ -15,9 +15,9 @@ npm устаносит зависимости, указанные в `package.js
1515

1616
## Задания
1717

18-
1. Реализовать расширенный EventEmitter, как в 'events.js' на базе простого из
19-
`emitter.js`, а не на базе встроенной в Node.js библиотеки`events`.
20-
Адаптировать расширенный EventEmitter для одинаковой работы как в Node.js, так
18+
1. Реализовать расширенный EventEmitter, как в 'enhancedEventEmitter.js' на базе
19+
простого из `simpleEventEmitter.js`, а не на базе встроенной в Node.js библиотеки
20+
`events`. Адаптировать расширенный EventEmitter для одинаковой работы в Node.js
2121
и в браузере.
2222
2. Модифицировать 'LiveTable' так, чтоб в ячейках можно было использовать
2323
формулы, как в электронных таблицах, например: `= A1 + B2`, но сделать это без

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /