synchronous callback(동기적 콜백) & asynchronous callback(비동기적 콜백) 정의

JavaScript Code 


function runFunction(fun){
    fun();
}

function callBack() {
    console.log("Hello World");
}

runFunction(callBack);



synchronous callback(동기적 콜백)은 콜백함수가 바로 실행되는 것을 말합니다. 위의 두 function(runFunction, callBack)을 선언하고 runFunction(callBack)을 하였을때 바로 실행 되는것을 확인할수 있습니다.


코드를 실행하기전 Hoisting(호이스팅) 단계가 있습니다. 이는 var, function의 선언 같은 것들을 코드 가장 위쪽으로 올리고 그것부터 실행하는 것입니다. 지금 위의 코드처럼 JavaScript가 function 선언문을 위쪽으로 배치시키고 순차적으로 아래까지 실행하는 것입니다.



function runFunction(fun, sec){
    setTimeout(fun, sec);
}

function callBack() {
    console.log("Hello World");
}

console.log("one");
runFunction(callBack, 1000);
console.log("two")
console.log("three");


 asynchronous callback(비동기적 콜백)은 위 코드를 보면 알다싶이 언제 실행될지 모르는 콜백함수를 말하는 것입니다. 지금 코드에서는 시연을 하기 위해 setTimeout()메소드를 줘서 실행하였지만 실제 http통신을 하게되면 언제 응답이 올지 알수가 없습니다. 

 코드를 보면 처음 runFunction에 인자가 하나 더 추가가 됬습니다. sec인자인데 이것은 함수가 실행되는 시간을 지정해 주는 것입니다. 위 예제에서는 1000을 줘서 1초후에 callBack함수가 실행되도록 설정하였습니다.








댓글

이 블로그의 인기 게시물

Lesson 12_1 프로퍼티 노드(Property Node)

DAQ로 전압 측정하기-2

Lesson 12_2 참조를 이용한 프로퍼티노드(Property Node)