JavaScript - callback
"콜백함수는 함수의 파라미터 안에 들어가는 함수,,"
지금까지 콜백함수의 정의만 알고 콜백을 써왔다..
하지만 자바스크립트 공부를 더 해 갈 수록 콜백을 과연 왜 사용하는지 그 기본 부터 바로 알아야 앞으로 자바스크립트 문법 공부를 제대로 해 나갈 수 있을 것 같았다. 그래서 콜백의 용도에 대해서 알아보기로 했다.
"콜백은 태스크가 끝나기 전에 함수가 실행되지 않는 것을 보장한다."
즉 콜백은 순서를 보장한다.
콜백함수를 썼을 때 어떻게 순차적으로 실행이 가능한지 나의 초초 심플한 코드로 알아보았다.
내가 만든 코드가 있다.
function my(){console.log('내가 만든거다 하하하')}
팀원이 만든 코드가 있다.
function your(){console.log('너가 만든거군 허허허');}
팀원이 내가 만든 코드가 마음에 들어 본인이 작성한 코드 이전에 내가 만든 코드가 실행되게 하고 싶어한다.
my();
your();
물론 이렇게 작성해도 원했던 실행결과는 얻겠지만 만약 my()함수가 비동기적(ex. setTImeout())이라면 팀원이 원하는 순서 (팀원코드 -> 내코드)대로 실행되지 않을 수도 있다.
하지만 내코드(또는 팀원코드)의 파라미터로 콜백함수를 넣어주면 순차적으로 실행 가~능~ 하다는 것!!
function my(para) {
console.log('내가 만든거다 하하하');
para();
}
function your() {
console.log('너가 만든거군 허허허');
}
my(your);