반응형
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가 나온 것이다.
반응형
'프로그래밍 개발 > NodeJs' 카테고리의 다른 글
Node.js - 입력정보에 대한 보안 (0) | 2020.12.26 |
---|---|
Node.js - 기본적인 CRUD APP 기능들 구현하기 (0) | 2020.12.19 |
Node.js - 파일 목록 알아내기 (0) | 2020.12.12 |
Node.js - 홈페이지 구현 (0) | 2020.12.05 |
Node.js - 콘솔에서의 입력값 (0) | 2020.12.05 |
댓글