반응형

nodejs에서 파일을 읽었는데 그값을 변수에 저장하고 편하게 사용하는 방법이있습니다.

var를 사용하지 않고요 const나 let을 사용할 것입니다.

 

const fs = require("fs");
fs.readFile("sample.txt", "utf8", function (err, data) {
  const description = data;
  console.log(description)  // 이거는 가능
});

console.log(description) // 이거는 유효범위를 벗어나서 불가능

우선 fs모듈을 불러옵니다 file System

그러고 비동기적으로 실행되는 readFile의 문법에 맞춰서 코드를 작성한다음

data의 값이 그 파일을 읽어온 정보이기때문에 

const description을 선언과 동시에 data로 초기화해줍니다.

 

하지만 여기서 문제점이 생깁니다. const,let은 유효범위가 블록단위이기 때문에 

밖에서 실행하면 그 값은 존재하지 않는다는 오류를 일으킵니다.

그러면 이 문제점을 해결하려면 어떻게 해야할까요?

바로 함수를 이용해서 호출하는것입니다. 

const fs = require("fs");
fs.readFile("sample.txt", "utf8", function (err, data) {
  const description = data;
  HandleConsole(description);
});

function HandleConsole(des) {
  console.log(des);
}

   이렇게 함수를 통해서 호출하면 그 값을 온전히 사용할수있습니다.

반응형

+ Recent posts