devlog

[Javascript] callback(콜백) 개념 이해하기 본문

JavaScript

[Javascript] callback(콜백) 개념 이해하기

bellaah 2019. 7. 17. 23:18

Javascript로 개발을 하신다면 'callback'이라는 키워드를 한 번쯤 들어보셨을 것이라 생각합니다.

과연 callback이란 무엇일까요?

 

1.callback이란?

javascript에서는 callback 함수는 다른 함수의 매개변수로 함수를 전달하고, 어떠한 이벤트가 발생한 후 매개변수로 전달한 함수가 다시 호출되는 것을 의미합니다.

callback은 쉽게 말하자면 어떤 일을 다른 객체에게 시키고, 그 일이 끝나는 것은 기다리지 않고 끝나고 부를 때까지 다른 일을 하는 것을 말합니다.

그렇기 때문에 non-block이며, 비동기 방식의 함수를 사용합니다.

 

2.callback 함수 사용법

function first(a,b,callback){
	let v=a*b;
	callback(v);
}

first(1,2,function(v){
	console.log(v);		//2
})

위와 같이 아래에서 first 함수를 호출하는데 호출할 때 익명 함수를 parameter로 넘겨줍니다.

그러면 first 함수에서는 그 함수 parameter를 callback이라는 이름으로 받고 있습니다.

first가 실행되면 a,b를 곱한 결과 값을 callback함수의 parameter로 넣어줍니다. 

여기서 callback함수는 아래의 익명 함수이므로 그 익명 함수가 실행되겠죠?

결과 값은 2(1*2)가 됩니다.

 

3.callback 함수를 쓰는 이유

만약 node.js를 쓰면서 콜백을 받아야 하는 상황에 callback 함수를 사용하지 않는다면 콜백 함수의 과정이 끝나기 전에 다음 프로세스가 진행될 수 있습니다.

그것을 막기 위해 차례대로 수행하기 위해 callback 함수를 사용해야 합니다.

 

Comments