Page 17 -
P. 17
1 .1 .4 반 응 형 사 고 에 서 콜 백 을 사 용 하 지 않 아 야 할 까
아 닙 니 다. 사 용 자 또 는 외 부 서 비 스 와 의 간 단 한 상 호 작 용 을 처 리 할 때 는 패 러 다 임 을 사 용 하 여 이 1
벤 트 기 반 또 는 비 동 기 코 드 를 처 리 할 필 요 가 없 습 니 다. 단 일 원 격 H T T P 요 청 을 하 는 간 단 한 스 반
크 립 트 코 드 를 작 성 할 때 는 R xJ S 가 다 소 과 하 며, 콜 백 이 최 고 의 해 결 책 입 니 다. 한 편, 함 수 형 과 반 응
형
으
응 형 패 러 다 임 이 혼 합 된 라 이 브 러 리 는 동 적 UI 또 는 서 비 스 조 율 과 같 이 중 간 정 도 의 복 잡 성 을 로
생
각
가 진 상 태 시 스 템 을 구 현 할 때 빛 을 내 기 시 작 합 니 다. 예 를 들 어 페 이 지 내 에 서 상 호 작 용 하 는 여 하
기
러 위 젯 으 로 구 성 된 풍 부 한 UI 기 능 구 현 이 나 여 러 마 이 크 로 서 비 스 와 데 이 터 매 시 업 을 소 비 하 는
비 즈 니 스 프 로 세 스 들 의 실 행 을 조 정 하 는 데 필 요 합 니 다.
다 른 원 격 서 버 측 엔 드 포 인 트 에 서 클 라 이 언 트 로 데 이 터 를 불 러 오 는 작 업 이 있 다 고 가 정 해 봅 시
다. 이 들 사 이 를 조 율 하 려 면 그 림 1 -5 에 서 보 았 듯 이 각 단 계 가 다 음 단 계 를 호 출 하 는 과 정 에 서 콜
백 본 문 에 담 겨 있 는 데 이 터 처 리 를 래 핑 하 는 여 러 중 첩 된 AJ A X 요 청 이 필 요 합 니 다. 다 음 코 드 는
이 를 가 능 하 게 하 는 코 드 로, 동 일 한 호 스 트 나 다 른 호 스 트 에 잠 재 된 데 이 터 집 합 과 그 집 합 과 연
관 있 는 메 타 정 보 나 파 일 들 을 함 께 로 드 하 려 고 작 성 된 세 개 의 콜 백 함 수 를 요 청 합 니 다.
a j a x ( ' < h o s t 1 > / i t e m s ' , 나 타 내 려 는 모 든 데 이 터 를 로 드 합 니 다.
i t e m s = > {
f o r ( l e t i t e m o f i t e m s ) {
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 ) ;
} ) ;
}
} ) ;
b e g i n U i R e n d e r i n g ( ) ;
이 코 드 가 별 것 아 닌 것 처 럼 보 일 수 있 지 만, 이 패 턴 으 로 계 속 진 행 하 다 보 면 가 로 로 점 점 커 져
가 로 로 중 첩 되 어 가 는 호 출 에 빠 지 게 됩 니 다. 이 는 자 바 스 크 립 트 에 서 콜 백 지 옥 (c all b a c k h ell )으 로
알 려 져 있 으 며 유 지 보 수 가 쉽 고 합 리 적 인 프 로 그 램 을 만 들 고 싶 을 때 어 떤 일 이 있 어 도 피 하 고
싶 은 디 자 인 입 니 다. 단 순 히 미 학 을 넘 어 별 개 의 비 동 기 작 업 을 동 기 화 하 는 일 은 읽 기 어 려 운 코
드 가 없 어 도 충 분 히 어 렵 습 니 다. 이 코 드 에 는 또 다 른 문 제 가 숨 어 있 습 니 다. 짐 작 이 가 나 요 ? 비
동 기 함 수 를 호 출 하 는 f o r . . . o f 명 령 형 블 록 과 같 은 동 기 코 드 를 섞 으 면 문 제 가 생 깁 니 다. 루 프 는
이 러 한 호 출 에 지 연 시 간 이 있 음 을 인 식 하 지 못 해 서 무 슨 일 이 있 든 항 상 앞 으 로 진 행 하 므 로 예 측
0 2 9
R x J S 코 딩 공 작 소( 본 문) 최 종.i n d d 2 9 2 0 1 9 - 1 2 - 1 2 오 전 1 0: 1 0: 0 6