javascript

javascript callback함수

yg-0103 2020. 10. 8. 23:46

callback 함수란?

어떤 작업후에 또 다른 작업을 하기 위해 함수의 매개변수로 함수를 넣어 

내부처리가 끝난후 매개변수로 받은 함수를 호출하는 방식이다.

function add(n, callback){
  setTimeout(()=> {
    let num = n+1;  //n = 0
    callback(num); 
  },1000);
}
add(0,(num) => {  // 위의 작업이 끝난 후 callback 함수의 매개변수를 넘겨받아 함수를 실행한다.
   console.log(num); // 1
});

// 콜백함수의 반복 복잡하므로 이런식으로 구현하지 않는 것이 좋다
add(0,(num)=>{
  add(num,(num1) =>{
   add(num1,(num2) => {
    add(num2,(num3) =>{
      console.log(num3); // 4초후에 4가 나온다.  	
      });
    });
  });
});