[TIL] 23.05.29

hyein·2023년 5월 29일
0

TIL

목록 보기
1/34

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);
profile
As I start to move towards the goal, the goal will start to move towards me.

0개의 댓글