Frontend/javaScript

callback 함수

dddzr 2022. 3. 8. 22:49

1. callback 함수란?

  • 다른 함수의 인자로 넘겨져 함수 실행 후에 실행되는 함수.
  • 자바스크립트는 동기식 처리를 하기 때문에 2개 함수를 연이어 작성할 경우 앞의 함수가 끝나기 전에 뒤의 함수가 먼저 실행되는 경우가 있는데, 앞의 함수가 실행된 다음 뒤의 함수가 실행되게 하고싶은 경우 사용하는 방법 중 하나이다.
  • 또는 먼저 실행된 함수의 결과값을 받아 사용해야하는 함수일 경우에 사용한다.

2.  작성 방법

  • Func1을 호출할때 파라미터로 Func2의 name을 넘김.
function Func1(param, callback) {
      $.ajax({
        url: url,
        type: "POST",
        contentType: "application/json",
        dataType: "json",
        data: param,
        async: true,
        error: function (xhr, status) {
          callback(result);
        },
        success: function (result) {
          callback(result);
        },
      });
    },
};

Func1(param, Function2);

function Func2(result){

};
  • Func1을 호출과 동시에 callback 함수 정의
function Func1(param, callback) {
	var result = "";
	//... func1의 로직
    return result;
};

Func1(param, function(result){

});