Skip to content

PubSub

Defined in: core/util/pubsub.ts:22

PubSub 클래스는 이벤트를 생성하고 구독하는 PubSub 패턴을 구현합니다.

const pubsub = new PubSub<{
event1: () => void;
}>();
pubsub.sub('event1', () => console.log('event1 발생'));
pubsub.pub('event1'); // 'event1 발생'
const pubsub = new PubSub<{
점심시간: (food: string) => void;
}>();
pubsub.sub('점심시간', (food: string) => console.log(`${food} 먹을 시간입니다.`));
pubsub.pub('점심시간', ['김치찌개']);

Events extends object

new PubSub<Events>(): PubSub<Events>

Defined in: core/util/pubsub.ts:27

PubSub<Events>

pub<EventName>(event, args): void

Defined in: core/util/pubsub.ts:68

지정된 이벤트를 생성합니다.

EventName extends string | number | symbol

EventName

생성할 이벤트의 이름입니다.

Parameters<Events[EventName]>

이벤트 핸들러에 전달할 인수의 리스트입니다.

pubsub.pub('register', ['홍길동']);

void


sub<EventName>(event, listener): () => void

Defined in: core/util/pubsub.ts:43

이벤트를 구독합니다.

EventName extends string | number | symbol

EventName

구독할 이벤트의 이름입니다

Events[EventName]

이벤트가 발생했을 때 실행할 함수입니다.

pubsub.sub('register', (name: string) => console.log(`${name}님이 입장하셨습니다.`));

() => void