콜백함수 (Callback function)
어떠한 함수가 수신하는 인자가 함수일 경우를 말한다.
내장객체(내장메소드,빌트인객체,빌트인메소드)인 sort는 인자값으로 function을 받는다.
양수, 음수, 0을 한번에 정리 여기서 sortfunc
가 콜백이 된다. sort 메서드의 동작방법에 영향을 끼친다.
오리지널 함수 동작방법을 값으로 전달한 함수를 통해 완전히 바꿀 수 있다.
비동기 처리에서의 Callback
일단, 비동기 처리란 무엇인가? 상상하자
내가 글을 쓰면 만명의 구독자에게 메일이 간다. 글작성 -> 이메일발송 -> 작성완료
가 포인트 이메일발송을 만명의 구독자에게 보낸다고 3시간이 걸린다 치자, 이 과정을 순차적으로 진행한 동기적 처리
라 한다.
글작성 -> 이메일발송예약 -> 작성완료
발송 예약이라는 변경으로 인하여 작성완료페이지를 볼 수 있고, 다 끝난거 같지만 백그라운드에서 3시간을 처리 todo 같은거라 할 수 있다. 그 일을 지금처리 할 수 없지만 나중에는 처리해야하는 일
이런일을 비동기적인 처리
라 한다.
페이지내에서 장바구니 창이라던지 등 페이지 url
이 변경되지 않고 작은 박스가 뜨는 경우 웹브라우저와 서버가 조용히 일을 하는거다. 이러한 기법을 Ajax
라 부른다.
Ajax를 통해 웹이 단순히 문서가 아닌 웹애플리케이션 역할을 하게 되었다.
이러한 Ajax요청일은 페이지를 얼리지않고 계속 서버와 통신하는 와중에도 다른 활동(스크롤이라던지)까지 같이 할 수 있게 한다.
(Jquery 라이브러리 사용)
.get('url',함수) 이라는 메소드는 첫번째 인자로 url를 받고, 두번째인자로는 함수로 서버와 통신이 끝났을 때 호출되도록 약속된 것.
첫번째 인자로 서버와 통신하는건 get 메소드를 쓰면서 동일하지만, 두번째인자를 통해 그 동작방법을 완전히 바꿔놓을 수 있는건 콜백함수가 있기 때문에 가능하다.
Last updated
Was this helpful?