더북(TheBook)

console.log(data)를 했더니 Buffer라는 이상한 것이 출력됩니다. 그래서 datatoString()을 붙여서 로그를 찍었더니 제대로 문자열이 출력됩니다. readFile의 결과물은 버퍼(Buffer)라는 형식으로 제공됩니다. 지금은 단순히 버퍼를 메모리의 데이터라고 생각하면 됩니다. 이에 대한 내용은 2.7.2절에서 자세히 설명합니다. 버퍼는 사람이 읽을 수 있는 형식이 아니므로 toString을 사용해 문자열로 변환했습니다.

fs는 기본적으로 콜백 형식의 모듈이므로 실무에서 사용하기가 불편합니다. 따라서 fs 모듈을 프로미스 형식으로 바꿔주는 방법을 사용합니다.

readFilePromise.js

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

fs.readFile('./readme.txt')
  .then((data) => {
    console.log(data);
    console.log(data.toString());
  })
  .catch((err) => {
    console.error(err);
  });