Page 18 -
P. 18
할 수 없 고 진 단 하 기 어 려 운 버 그 가 생 길 수 있 습 니 다. 이 러 한 상 황 에 서 는 루 프 대 신 f o r E a c h ( ) 를
사 용 하 여 비 동 기 함 수 주 변 을 클 로 저 로 만 들 어 문 제 를 개 선 할 수 있 습 니 다.
a j a x ( ' < h o s t 1 > ' / i t e m s ' ,
i t e m s = > {
배 열 의 f or E a c h() 메 서 드 는 중 첩 된 H T T P 호 출 로
i t e m s . f o r E a c h ( i t e m = > { 데 이 터 객 체 의 범 위 를 적 절 히 지 정 합 니 다.
a j a x ( ` < h o s t 2 > / i t e m s / $ { i t e m . g e t I d ( ) } / i n f o ` ,
d a t a I n f o = > {
a j a x ( ` < h o s t 3 > / f i l e s / $ { d a t a I n f o . f i l e s } ` ,
p r o c e s s F i l e s ) ;
} ) ;
} ) ;
} ) ;
이 게 바 로 R xJ S 와 일 반 적 으 로 F P 에 서 모 든 루 프 가 사 실 상 제 거 되 는 이 유 라 볼 수 있 습 니 다. 따
라 서 4 장 과 5 장 에 서 는 루 프 대 신 순 수 함 수 를 활 용 하 여 모 든 데 이 터 의 범 위 를 적 절 하 게 유 지 하 며
비 동 기 요 청 시 퀀 스 를 생 성 할 수 있 는 연 산 자 를 알 아 봅 니 다. 콜 백 을 사 용 하 는 좋 은 사 례 는 N o d e .
3
js 이 벤 트 이 미 터(e v e nt e mitt er ) 를 기 반 으 로 A PI 를 구 현 하 는 겁 니 다.
1 .1 .5 이 벤 트 이 미 터
이 벤 트 이 미 터 는 비 동 기 이 벤 트 기 반 아 키 텍 처 에 서 널 리 사 용 되 는 기 술 방 식 입 니 다. 예 를 들 어
D O M 은 아 마 가 장 널 리 알 려 진 이 벤 트 이 미 터 일 겁 니 다. N o d e .js와 같 은 서 버 에 서 는 특 정 종 류
의 객 체 가 주 기 적 으 로 함 수 를 호 출 하 는 이 벤 트 를 생 성 합 니 다. N o d e .js에 서 E v e n t E m i t t e r 클 래 스
는 웹 소 켓 I/O 또 는 파 일 읽 기/ 쓰 기 와 같 은 A PI 를 구 현 하 여 디 렉 터 리 를 순 회 하 는 중 에 관 심 있 는
파 일 을 발 견 하 면 객 체 가 해 당 파 일 을 참 조 하 는 이 벤 트 를 발 생 시 켜 추 가 코 드 를 실 행 하 게 합 니 다.
이 A PI 를 조 금 더 살 펴 보 고 자 간 단 한 객 체 를 구 현 해 보 겠 습 니 다. 더 하 기( a d d ) 와 빼 기(s u b t r a c t )
같 은 이 벤 트 를 발 생 하 는 간 단 한 계 산 기 객 체 를 생 각 해 봅 시 다. 그 림 1 - 6 에 서 보 는 바 와 같 이 해 당
객 체 는 모 든 사 용 자 정 의 로 직 안 에 서 사 용 할 수 있 습 니 다.
3 역 주 이 벤 트 이 미 터 를 번 역 하 면 이 벤 트 발 생 기 정 도 가 되 는 데, N o d e .j s에 서 E v e n t E m i t t e r 의 기 능 을 고 려 했 을 때 그 의 미 가 제 대 로 전 달 되
지 않 으 므 로 번 역 하 지 않 고 외 래 어 표 기 법 대 로 표 기 했 습 니 다.
0 3 0
R x J S 코 딩 공 작 소( 본 문) 최 종.i n d d 3 0 2 0 1 9 - 1 2 - 1 2 오 전 1 0: 1 0: 0 6