동기적(Synchronous)
어떤 작업을 요청했을 때 그 작업이 종료될때 까지 기다린 후 다음 작업을 수행하는 방식
console.log('A');
var result = fs.readFileSync('syntax/sample.txt', 'utf8'); // sample.txt 내용은 B
console.log(result);
console.log('C');
// 결과는 A B C
fs.readFileSync에서 동기적으로 작업을 수행한다.
비동기적(Asynchronous)
어떤 작업을 요청했을 때 그 작업이 종료될때 까지 기다리지 않고 다른 작업을 하고 있다가, 요청했던 작업이 종료되면 그에 대한 추가 작업을 수행하는 방식
console.log('A');
fs.readFile('syntax/sample.txt', 'utf8', function(err, result){
console.log(result);
});
console.log('C');
// 결과는 A C B
readFileSync와 다르게 readFile은 비동기적으로 처리되어 나중에 수행된다.