Node.js 동기 / 비동기

KHW·2021년 7월 13일
0

Node.js

목록 보기
7/19

동기적

어떤일이 실행되기 전까지 다른 일이 실행되지않고 기다린다.

비동기적

어떤일이 실행되기 전까지 다른 일이 기다리지않고 먼저 실행된 후 다른 일이 끝나면 그 일이 실행된다.

동기적 예시

1) readFileSync 사용

const fs = require('fs');

console.log('a')
const result = fs.readFileSync('a.js','utf-8');
console.log(result);
console.log('c');
a
b
c

비동기적 예시

2) readFile만 사용

const fs = require('fs');

console.log('a')
fs.readFile('a.js','utf-8',function(err,result){
  console.log(result);
});
console.log('c');
a
c
b

3) promises 이용

promises를 이용해 가독성을 높이고 비동기 순차적 진행을 돕는 역할을 한다.

기존에는 첫번째 매개변수가 err인 것에 비해
then으로 처리하면 catch와 then의 분류로 then을 통해 필요한 매개변수를 바로 받을 수 있다.

const fs = require('fs');

console.log('a');
fs.promises.readFile('a.js','utf-8').then((result)=>{
  console.log(result)
})
console.log('c')
a
c
b

4) fs.promises 이용

const fs = require('fs').promises;

console.log('a')
const result = fs.readFile('a.js','utf-8');
result.then(a=>{
  console.log(a)
})
console.log('c');

result 자체가 promise이다.
Promise { <pending> }

profile
나의 하루를 가능한 기억하고 즐기고 후회하지말자

0개의 댓글