관리 메뉴

Silver Library (Archived)

Callback in JS? 본문

CS Library/JavaScript - Data Structure

Callback in JS?

Chesed Kim 2021. 7. 17. 23:24
반응형

이 글은 아래의 글에서 가져온 코드블럭을 기반으로 재구성 되었음.

 

[번역] JavaScript: 도대체 콜백이 뭔데?

이 문서는 Brandon Morelli의 JavaScript: What the heck is a Callback? 을 번역한 것입니다. 잘못된 부분이 있는 경우 알려주시면 감사하겠습니다.

medium.com

function doHomework(subject, callback) {
  alert(`Starting my ${subject} homework.`);
  callback();
}

doHomework('math', function() {
  alert('Finished my homework');
});

callback 이 언제 정의 되던, 언제 호출 되던, 핵심은:

'JS 는 특정 함수로 부터 응답이 오기를 기다리다가 함수를 실행하는 것이 아니라,

JS 는 특정 함수를 실행 하면서 응답이 오면 받아서 실행 해 버리는 식이다.'

function doHomework(subject, callback) {
  alert(`Starting my ${subject} homework.`);
  callback();
}
function alertFinished(){
  alert('Finished my homework');
}
doHomework('math', alertFinished);

콜백은, '기다렸다가 특정 데이터를 받고 나면, 실행 하도록 하는 것을 가능케' 하는 것이 특징.

예) 가령 트위터가 응답 하면 자신이 구성해둔 콜백 함수가 실행 되게끔 한다던가.

T.get('search/tweets', params, function(err, data, response) {
  if(!err){
    // This is where the magic will happen
  } else {
    console.log(err);
  }
})