EventEmitter на JavaScript.

  Рет қаралды 2,880

Первый файл комом

Первый файл комом

Күн бұрын

Пікірлер: 15
@RefuelTheRocket
@RefuelTheRocket 11 ай бұрын
Спасибо, очень понятно и просто объяснил!
@МарияКашпур-з3б
@МарияКашпур-з3б Жыл бұрын
Это лучшее объяснение и пример! Спасибо!
@2difficult2do
@2difficult2do Жыл бұрын
Работа с событиями полезная фича. Чайник включился :-) Спасибо. 👍
@first-file-comom
@first-file-comom Жыл бұрын
Даа, полезная штука. На практике частенько использую к ней еще можно прикрутить postMessage и вообще пушка
@ginhop1057
@ginhop1057 Жыл бұрын
Объяснение топчик 👍
@RustemmKh
@RustemmKh 5 ай бұрын
Почему две распечатки происходит? Первый - нормальный, второй - с отпиской?
@first-file-comom
@first-file-comom 5 ай бұрын
Две распечатки, потому что в коде есть две подписки на одно и тоже событие умноженное на количество вызовов этого события (dispatch). Поэтому в консоль вывелось две. Там где происходит сохранение в переменную unsub это та же подписка, просто мы сохранили функцию (коллбэк) в переменную которая вернул метод subscribe.
@manaraga9463
@manaraga9463 Жыл бұрын
мне как новичку который дошел до асинхронщины синтаксис непонятен, к сожалению первый раз вижу такие приватные поля, вместо привычного конструктора ((
@first-file-comom
@first-file-comom Жыл бұрын
Привет! Вероятнее всего ты пропустил ролик на канале посвященный классам! Обязательно посмотри его =) kzbin.info/www/bejne/hmOnZ2dtgb-Kd80
@ultexplorer
@ultexplorer 11 ай бұрын
@@first-file-comom Да, мне тоже непонятен этот синтаксис. Что за #listeners = {} вместо конструктора?
@first-file-comom
@first-file-comom 11 ай бұрын
@@ultexplorer поля или методы которые начинаются с решетки являются приватными. т.е. к ним нельзя обратить когда создан инстанс класса. Рекомендую посмотреть видео про классы на канале. kzbin.info/www/bejne/hmOnZ2dtgb-Kd80si=sqKgOM_aZ_KIuuc- А по поводу конструктора - его необязательно указывать при создании класса
@ultexplorer
@ultexplorer 11 ай бұрын
const EventEmitter = function(){ this.events = {} } EventEmitter.prototype.on = function (name, fn){ const event = this.events[name]; if(event) event.push(fn); else this.events[name] = [fn]; } EventEmitter.prototype.emit = function (name, ...data) { const event = this.events[name]; if(event) event.forEach(fn => fn(...data)) }
@LHLetale
@LHLetale 6 ай бұрын
@@ultexplorer думаю нужно больше учить синтаксис языка, раз такого не знаете
@nonepuc
@nonepuc 8 ай бұрын
Дай пожалуйста название темы Vs code пожалуйста 💜
@first-file-comom
@first-file-comom 8 ай бұрын
One dark material design
Node.js "Event Emitters" Explained
9:50
Software Developer Diaries
Рет қаралды 10 М.
Чистка воды совком от денег
00:32
FD Vasya
Рет қаралды 3,5 МЛН
Quilt Challenge, No Skills, Just Luck#Funnyfamily #Partygames #Funny
00:32
Family Games Media
Рет қаралды 12 МЛН
Как Я Брата ОБМАНУЛ (смешное видео, прикол, юмор, поржать)
00:59
How many people are in the changing room? #devil #lilith #funny #shorts
00:39
Делаю фронтенд заказ на Kwork (график на canvas javascript)
21:53
♛ Подпольный JS ☯
Рет қаралды 22 М.
Имитируем события в JavaScript. DispatchEvent
18:53
WebDev с нуля. Канал Алекса Лущенко
Рет қаралды 16 М.
JWT авторизация. Основы JWT - механизма.
6:45
Хочу вАйти
Рет қаралды 18 М.
How to write a debounce function | Writing our debounce function in JavaScript
10:46
Front-end Science із Сергієм Пузанковим
Рет қаралды 31 М.
EventEmitter - Базовый Node.js - Javascript.Ninja
12:49
JavaScript.Ninja
Рет қаралды 7 М.
Что такое промисы в JavaScript. Фундаментальный JavaScript
24:51
Михаил Непомнящий
Рет қаралды 46 М.
Event Bus, Паттерны на практике, Unity, C#
15:33
Sergey Kazantsev
Рет қаралды 10 М.
Чистка воды совком от денег
00:32
FD Vasya
Рет қаралды 3,5 МЛН