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
   14   15   16   17   18   19   20   21   22   23   24