Page 19 -
P. 19
그 림 1- 6 여 기 서 노 드 이 미 터 객 체 는 a d d 와 s u btr a ct 라 는 두 이 벤 트 가 발 생 하 는 간 단 한 계 산 기 객 체 를 나 타 낸 다.
이 미 터 가 이 벤 트 를 발 생 하 게 하 면
이 벤 트 와 관 련 된 로 직 이 실 행 된 다.
1 반
형
계 산 기 객 체 클 라 이 언 트 응
으
로
생
하
더 하 기 더 하 기 함 수( ) 각
기
빼 기 빼 기 함 수( )
−
계 산 기 는 이 벤 트 들 의 집 합 을 게 시 한 다.
다 음 은 계 산 기 의 a d d 와 s u b t r a c t 이 벤 트 코 드 입 니 다.
c o n s t E v e n t E m i t t e r = r e q u i r e ( ' e v e n t s ' ) ; 이 벤 트 모 듈 불 러 오 기
c l a s s C a l c u l a t o r e x t e n d s E c e n t E m i t t e r { } 사 용 자 정 의 이 미 터 생 성
c o n s t c a l c = n e w C a l c u l a t o r ( ) ;
c a l c . a d d L i s t e n e r ( ' a d d ' , ( a , b ) = > {
c a l c . e m i t ( ' r e s u l t ' , a + b ) ;
} ) ; a d d 이 벤 트 처 리
c a l c . a d d L i s t e n e r ( ' s u b t r a c t ' , ( a , b ) = > {
c a l c . e m i t ( ' r e s u l t ' , a - b ) ;
} ) ;
c a l c . a d d L i s t e n e r ( ' r e s u l t ' , ( r e s u l t ) = > {
c o n s o l e . l o g ( ' R e s u l t : ' + r e s u l t ) ;
} ) ;
c a l c . e m i t ( ' a d d ' , 2 , 3 ) ; / / - > ' R e s u l t : 5 ' 출 력
c a l c . e m i t ( ' s u b t r a c t ' , 2 , 3 ) ; / / - > ' R e s u l t : 1 ' 출 력
예 제 코 드 에 서 이 벤 트 이 미 터 는 a d d L i s t e n e r ( ) 를 통 해 구 독 합 니 다. 이 메 서 드 를 사 용 하 면 관 심 이
벤 트 가 발 생 했 을 때 호 출 될 콜 백 을 등 록 할 수 있 습 니 다. 하 지 만 이 벤 트 이 미 터 는 여 러 복 합 리 소
스 에 서 내 보 낸 데 이 터 를 처 리 하 는 데 콜 백 을 사 용 하 는 것 과 관 련 된 비 슷 한 문 제 를 모 두 가 지 고 있
0 3 1
R x J S 코 딩 공 작 소( 본 문) 최 종.i n d d 3 1 2 0 1 9 - 1 2 - 1 2 오 전 1 0: 1 0: 0 7