synchronous(동기적) : 특정 코드를 수행 완료한 이후 아래줄의 코드 수행
asynchronous(비동기적) : 특정 코드를 수행하는 도중에도 아래로 계속 내려가며 수행함
var fs = require('fs');
//readFileSync
console.log('A');
var result = fs.readFileSync('syntax/sample.txt', 'utf8');
console.log(result);
console.log('C');
이 동기적인 결과는
A
B
C
순서대로 나오게 된다
console.log('A');
fs.readFile('syntax/sample.txt', 'utf8', function(err, result){
console.log(result);
});
console.log('C');
비동기적인 결과는
A
C
B
로 나오게 된다
이름이 없는 함수를 익명함수라고 한다
var a = function(){
console.log('A');
}
function slowfunc(callback){
callback();
}
slowfunc(a);
실행이 느린 함수가 있다고 가정해보자
느린 함수는 일을 마치고 불러주는 callback함수를 이용하게 되면
일을 마치고 var a를 실행하게 된다
즉 위의 식에서는 A를 출력하게 된다