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