어떤일이 실행되기 전까지 다른 일이 실행되지않고 기다린다.
어떤일이 실행되기 전까지 다른 일이 기다리지않고 먼저 실행된 후 다른 일이 끝나면 그 일이 실행된다.
const fs = require('fs');
console.log('a')
const result = fs.readFileSync('a.js','utf-8');
console.log(result);
console.log('c');
a
b
c
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
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
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> }