(6) 콜백함수(callback function)

2019. 4. 3. 10:53 JavaScript BackEnd/Node.js, Express

파일에 코드를 작성하여 cmd 창을 open하여 node 파일명.js로 해당 파일을 실행시킬 수 있다. 


이 방법 이외에도 마치 크롬 개발도구처럼 cmd 창에서 node라는 명령어를 입력하고 code를 직접 작성하면서 해당 코드를 곧바로 실행 시킬 수 있다. 




위에서 callback 함수 >> b,c,d 이다.


callback 함수린?

function b(){return 0};     << 콜백함수

a.sort(b) 

sort라는 함수의 인자로 b라는 함수를 전달했다. 이렇게 전달되는 함수를 callback함수라고 한다. 

이 때, 전달되는 함수인 콜백함수는 우리가 직접 호출하는 것이 아니라, 'sort라는 함수가' 필요할 때마다 내부적으로 function b를 호출하고 있는 것이다. 

(콜백함수는 언제든지 나중에 호출당할 수 있다. 특정 함수가 전부 실행된 후에.) 


또한 콜백함수를 나중에 여러 번 호출하고 싶을 경우에는 콜백함수의 이름을 정해주면 되지만, 1회성으로 사용될 함수(인자로 전달될 함수:콜백함수)라고 한다면 굳이 

함수에 이름을 줄 필요가 없다. 

이럴때는 function b를 만들어주고 a.sort(b)로 하지 않고, 익명함수를 사용해도 된다 >> a.sort(function(v1,v2){return v1-v2;});


(※ 함수명을 따로 주지 않을 때, 그 함수를 익명함수라고 한다.)

a.sort(function(v1,v2){return v1-v2;});에서는 

이것이 callback 함수이다. >>  function(v1,v2){return v1-v2;}



좀 더 심도있게 콜백함수(callback function)에 대하여 이해하기를 원한다면 

http://yubylab.tistory.com/entry/%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EC%9D%98-%EC%BD%9C%EB%B0%B1%ED%95%A8%EC%88%98-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0



출처: https://sourceflower.tistory.com/6?category=561762 [소스플로우]