콜백 함수(Callback Function)

조영래·2022년 5월 16일
0
post-custom-banner

콜백함수(Callback Function) 란?

파라미터로 함수를 전달하는 함수

콜백함수(Callback Function)란 파라미터로 함수를 전달받아, 함수의 내부에서 실행하는 함수

ex)

function aaa(callback) {
	callback();
}

function callback() {
	console.log("bbb");
}

aaa(callback); // bbb

2가지 callback 함수

  1. 동기적 함수
  2. 비동기적 함수

동기(synchronous)적 방식 : 현재 실행 중인 코드가 완료된 후 다음 코드를 실행
비동기(asynchronous)적 방식: 현재 실행중인 코드의 완료 여부와 무관하게 즉시 다음 코드로 넘어가서 실행.

자바스크립트는 Single-Thread / Non-Blocking 방식으로 코드를 실행합니다. (Single-Thread, Non-Blocking에 대해서는 여기서 자세하게 다루지 않습니다. 해당 개념은 Event-Loop도 함께 들어갑니다. )

간단하게 이야기 하면, 자바스크립트는 한 번에 하나의 코드만 실행할 수 있습니다. (Single-Thread) 하지만 코드를 실행하고 해당 결과를 기다리지 않고 다음 코드를 실행합니다. (Non-Blocking)

Javascript의 모든 이벤트는 한 번에 한 가지 일만 처리한다. 이런 방법은 작업을 요청한 이후에 그 작업이 끝날 때까지 다음 작업은 진행할 수 없다. 그리고 만약 통신 과정이 포함되어 있고 데이터를 보낸 이후에 답이 없다면 멈추는 현상이 발생한다. 이러한 방법을 동기식 프로그래밍 방법. 현재는 모든 이벤트를 다 실행하고 결과를 받는 순서대로 다음을 처리하는 비동기식 프로그래밍을 사용하고 있다. 비동기식 프로그램 때문에 나온 함수가 콜백함수

참조

Callback

profile
난될놈이야
post-custom-banner

0개의 댓글