Pull to refresh

Comments 13

   let self = this;
   object.on = (...arg)=> self.on(key, ...arg); //функция подписки
   object.un = (...arg)=> self.un(key, ...arg); //функция отписки 


для стрелочных функций не нужно делать let self = this, можно просто вызывать this, у них контекст того, где они были созданы
не за что, Вам спасибо за статью, не успел разобрать полностью еще, но обязательно до-разберу
Вызов множества cb происходит через forEach. WeakMap не позволяет его использовать.

Вы говорите про это:


this.listeners.set(key, new Map());

Я про это:
В конструкторе OS


constructor() {
this.storage = new Map(); //поле хранения объектов
this.listeners = new Map(); //поле хранения слушателей
this.serviceField = new Set([on, 'un']); //”сервисные” поля, т.е. поля объекта используемые библиотекой.
}
Ок, понял =). Профита большого не увидел, ссылка на github есть, буду рад любым предложениям =)
Да, крутую штуку сделал. И за хорошие пояснения отдельное спасибо.
Спасибо Вам, что осилили данную статью.
UFO just landed and posted this here
Я не открывал Америку. Мне было интересно сделать то, что сделано через Proxy. Дань памяти почившему O.o
Вы применяете где-то данный функционал? Просто интересно где это может пригодиться. А за статью спасибо!
Как и O.o для отслеживания событий изменения объектов. У нас много ассинхрона в проекте.
Как хранилище задумывалось для того, чтобы не хранить объекты в глобальной области, а подключать к модулям в случае необходимости.
Однако в данный момент мы по большей части отошли от этого в сторону использования локальной шины данных реализованной на клиенте.
Спасибо Вам, за интересные вопросы.
Sign up to leave a comment.