본문 바로가기

언어/Javascript

콜백함수(callback)

콜백함수는 쉽게 말하면 파라미터에 들어가는 함수로, 

setTimeout(function add(){return a + b}, 1000, a,b);

또는

setTimeout(add, 1000, a,b);

function add(a,b){return a+b};

여기서 add가 콜백함수이고 이는 순서를 지켜서 실행하고 싶을 때 사용된다.

 

 

하지만 궁금증이 든다.

굳이  순서를 지키고 싶으면,

function a()[
 // ...
}

function b(){
 // ...
 }
 
 a();
 b();

이렇게 사용하면 되지 않을까 생각이 들었다.

이와 관련된 내용을 찾아보니,

예를들어, 협업시 동료1이 나의 함수 a를 쓰고 console.log를, 동료2도 나의 함수 a를 쓰고 console.log를 쓰고 싶다하면만약 함수 a가 비동기 함수라면 그 순서가 깨지기 마련이다. 그렇기에, 콜백함수를 넣은 함수(고차함수) 안에 나의 코드 다음에 console.log를 삽입하면 그 함수는 순서가 안정적으로 보장된다.