Callback pattern
자바스크립에서 함수는 객체다. 함수를 다른 함수의 인자로 넘겨 줄 수 있다. 함수에 다른 함수를 넘겨면 넘겨받은 함수에서 실행 할 것이다. 이때 넘겨 받은 함수를 콜백 함수라고 한다. 아래 코드로 확인해 보자.
[코드1] 콜백 코드 예제
필자는 이와 같은 패턴을 공통 화면에서 리턴 받을 때 많이 사용하고는 했다. 화면마다 사용하는 공통된 기능을 만들지 않고 콜백 함수를 이용해서 리턴받아야 하는 함수를 파라메터로 넘겨줘서 해당 함수에서 콜백 함수를 호출하면 하나의 기능으로 여러 페이지에서 일관되게 사용할 수 있게 하기 때문이다. 다음 코드에서 보다 자세한 사용 방법에 대해 알아 보자.
[코드2] Callback 함수의 활용
"코드2"에서와 같이 하나의 로직을 호출 하지만 콜백 함수를 어떻게 세팅해서 넘기는지에 따라서 해당 출력값이 확연하게 다르게 출력이 되고 있는 것을 확인 할 수 있다.
출력 값은 writePlus 콜백 함수를 넘겼을 때는 101 ~ 200까지 출력이 되고 writeMinus 콜백으로 넘겼을 때는 99 ~ 0까지 출력이 되고 있다. 이렇게 콜백을 넘겨 주는 차이로 확연하게 다른 로직이 구현되므로 중요 핵심 로직으로 결과 값을 받아와서 넘겨 받은 콜백에서 원하는 작업을 할 수 있게 하면 확장성있는 함수를 만들 수 있을 것이다.
'Javascript' 카테고리의 다른 글
[Javascript Framework]Lungo.js - 모바일용 개발 프레임워크 (0) | 2013.04.03 |
---|---|
[Javascript Framework]Zeptojs - WebKit을 지원하는 경량화된 프레임워크 - jquery 문법 호환 (0) | 2013.04.03 |
[Javascript Pattern] Lazy function definition - Self function definition - 자신을 정의 하는 함수 (0) | 2013.03.17 |
[Javascript Pattern] javascript 함수 파라메터 생성 패턴 (0) | 2013.03.17 |
[Javascript Pattern] 초기화 시점의 분기 - 단 한번의 확인 (0) | 2013.03.17 |