Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.10.2017, 17:00
Кандидат Javascript-наук
Отправить личное сообщение для Signal Посмотреть профиль Найти все сообщения от Signal
 
Регистрация: 03.05.2016
Сообщений: 137

как сделать в в своей new Function event .on
Здравствуйте.
есть свой объект
var MainProcess = new Gtdocument();

как сделать так, что можно было потом принимать сообщения
типа
MainProcess.on('SELECT', function()....
Ответить с цитированием
  #2 (permalink)  
Старый 16.10.2017, 17:02
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,705

Signal, нужно добавить классу "Gtdocument" новый метод.
Gtdocument.prototype.on=function(){};
Ответить с цитированием
  #3 (permalink)  
Старый 16.10.2017, 21:21
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

https://github.com/medikoo/event-emitter
Ответить с цитированием
  #4 (permalink)  
Старый 16.10.2017, 23:21
Кандидат Javascript-наук
Отправить личное сообщение для Signal Посмотреть профиль Найти все сообщения от Signal
 
Регистрация: 03.05.2016
Сообщений: 137

Сообщение от Nexus Посмотреть сообщение
Signal, нужно добавить классу "Gtdocument" новый метод.
Gtdocument.prototype.on=function(){};
а как туда отсылать сообщения?

можно краткий код реализации?
Ответить с цитированием
  #5 (permalink)  
Старый 17.10.2017, 02:13
Аватар для Alexandroppolus
Профессор
Отправить личное сообщение для Alexandroppolus Посмотреть профиль Найти все сообщения от Alexandroppolus
 
Регистрация: 25.10.2016
Сообщений: 1,004

Signal,

Всё проще некуда. Ставишь тот емиттер по ссылке. Потом в коде:
var ee = require('event-emitter');

ee(Gtdocument.prototype);


Теперь на экземпляры Gtdocument можно подписываться. А они, в свою очередь, могут вызывать в своих методах this.emit(...)
Ответить с цитированием
  #6 (permalink)  
Старый 11.11.2017, 18:54
Кандидат Javascript-наук
Отправить личное сообщение для Signal Посмотреть профиль Найти все сообщения от Signal
 
Регистрация: 03.05.2016
Сообщений: 137

забыл отписаться в этой теме, ну вопрос-то был в теме javascripts а не в node.js ветке, нашел такое вот решение для сайтового javascript или я может что не понял про requrie нодовские
сам класс:
class EventEmitter {
  constructor() {
    this.events = {};
  }
  
  emit(eventName, data) {
    const event = this.events[eventName];
    if( event ) {
      event.forEach(fn => {
        fn.call(null, data);
      });
    }
  }
  
  subscribe(eventName, fn) {
    if(!this.events[eventName]) {
      this.events[eventName] = [];
    }
    
    this.events[eventName].push(fn);
    return () => {
      this.events[eventName] = this.events[eventName].filter(eventFn => fn !== eventFn);
    }
  }
  
 
}


назначение
MY.emitter.subscribe('event:eventname', data => {
            blabla(data);
        });


и отправка из своего объекта
в MY
this.emitter.emit('event:eventname', {data});
Ответить с цитированием
  #7 (permalink)  
Старый 11.11.2017, 19:57
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

Signal, https://javascript.ru/forum/project/...atcher-js.html

EventDispatcher(Gtdocument, true);

var mainProcess = new Gtdocument();

mainProcess.addEventListener('select', function() {

});

mainProcess.onselect = function() {

};

mainProcess.dispatchEvent('select');

Последний раз редактировалось ruslan_mart, 11.11.2017 в 19:59.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вызов функции Hol1killer Prototype & script.aculo.us 11 05.12.2016 01:37
научите пользоваться массивами!!!! Вася Задунайский Элементы интерфейса 3 09.05.2016 01:09
Jin: И снова о наследовании tenshi Ваши сайты и скрипты 16 19.08.2013 20:30
Помогите разобраться ŞΘLƉiΞR Общие вопросы Javascript 2 28.08.2012 11:57
Как сделать что б не подтормаживало. Сергей Постовит jQuery 3 19.05.2010 12:07