더북(TheBook)

asyncOrderPromise.js

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

console.log('시작');
fs.readFile('./readme2.txt')
  .then((data) => {
    console.log('1번', data.toString());
    return fs.readFile('./readme2.txt');
  })
  .then((data) => {
    console.log('2번', data.toString());
    return fs.readFile('./readme2.txt');
  })
  .then((data) => {
    console.log('3번', data.toString());
    console.log('끝');
  })
  .catch((err) => {
    console.error(err);
});

실행 결과는 asyncOrder.js와 같습니다.

지금까지 동기 메서드와 비동기 메서드의 차이를 알아봤습니다. 이제 readFilereadFileSync에서 받아온 datadata.toString()으로 변환하는 이유를 알아볼 차례입니다. 결론부터 말하자면 toString 메서드를 사용하는 이유는 data가 버퍼이기 때문입니다. 버퍼가 무엇인지 알아봅시다.