본문 바로가기
프로그래밍 개발/NodeJs

Node.js - Node.js에서 동기와 비동기

by Jinseok Kim 2020. 12. 12.
반응형

 

 

 

Nodejs에서 동기와 비동기

 

 

 

  • Node.js는 비동기적인 실행에 특화되어있다고 할 수 있다.
  • 여기서 비동기와 동기를 설명하자면 동기는 차례대로 하나씩 하나씩 일을 처리해나가는 것이라면 비동기는 동시에 일을 처리해나가는 더 효율적인 방법이라고 말할 수 있다.

 

 

 

 

 

동기

var fs = require('fs')

console.log('A');
var result = fs.readFileSync('fileB','utf8');
console.log(result);
console.log('C');

 

  • 동기를 코드로 표현하였다. readFileSync 메소드는 file을 읽어오는 메소드이다. 여기서 불러올 fileB에는 텍스트 'B'가 저장되어 있다.
  • 코드 결과를 보면 위에서부터 차례대로 결과가 쭉 나열되어 있는 것을 알 수 있다. 즉 동기 형식으로 차례대로 일을 처리해 나간 것이다.

 

 

 

 

 

 

 

비동기

var fs = require('fs')

console.log('A');
fs.readFile('fileB','utf8', function(err, result){ 
console.log(result);   
});
console.log('C');

 

  • readFile은 readFileSync 메소드와 파일을 가져오는 것은 같지만 세 번째 인자로 콜백 함수를 넣을 수 있도록 약속되어 있다는 차이점이 있다. 즉 콜백 함수의 나중에 함수를 불러오는 기능으로 비동기적 실행을 할 수 있는 거다.
  • 결과를 보면 위에서부터 차례대로 일을 처리해 나간 것이 아닌 비동기 형식으로 콘솔로 결과를 호출한 평범한 일을 실행하는 도중에 동시에 fileB에서 B 텍스트를 가져온 것이라고 볼 수 있다. 그래서 결과 순서가 A와 C의 콘솔 호출이 끝나고 나서 마지막으로 B가 나온 것이다.

 

 

 

 

 

 

 

반응형

댓글