node.js를 공부하다가 새로 알게된 개념이 있다. 바로 synchronous(동기적) & asynchronous(비동기적)이다.
동기적(Synchronous)
작업을 수행할때 한 작업이 완료될 때까지 기다렸다가 이후 다음 작업을 하는 방식이다.
fs.readFile()함수를 예를 들어보자.
코드
//readFileSync
console.log('A');
var result = fs.readFileSync('syntax/sample.txt', 'utf8');//sample.txt 파일에는 B가 입력되어 있다.
console.log(result);
console.log('C');
결과
A
B
C
이처럼 코드가 짜여진 순서대로 A, B, C 순으로 출력된다.
이후 비동기적과의 차이를 알아보자
비동기적(Asynchronous)
작업을 수행할때 한 작업이 완료가 되기까지 기다리지 않고 다른 작업을 수행하고 이후 처음에 한 작업을 완료하는 방식이다. 차이로는 비동기적 함수에는 callback이라는 파라미터 값이 추가로 들어간다.
코드
console.log('A');
fs.readFile('syntax/sample.txt', 'utf8', function(err, result){//sample.txt 파일에는 B가 입력되어 있다.
console.log(result);
});
console.log('C');
결과
A
C
B
'nodejs' 카테고리의 다른 글
nodejs - pm2 (0) | 2022.07.19 |
---|