본문 바로가기

nodejs

동기적 / 비동기적

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