본문 바로가기
부트캠프교육중/JavaScript

fs.readFile, callback함수

by 뭉지야 2023. 1. 18.
728x90

메서드 fs.readFile: 로컬에 존재하는 파일을 읽어온다. 비동기적으로 파일내용전체를 읽는다!


fs.readFile(path[, options], callback)

#path
파일이름을 전달인자로 받는다
string/ buffer/ url/ integer(정수) 타입 넘길수있다
일반적으로 string타입을 받는다.

fs.readFile('/etc/passwd', ..., ...)


#options
넣을수도 있고 넣지 않을수도 있다
object/string가능하다

string=> 인코딩을 받는다
fs.readFile('/etc/passwd', 'utf8', ...);
let options = {
encoding: 'utf8',     //utf8 인코딩 방식으로 연다
flag: 'r'   /읽기위해 연다

object=> 
fs.readFile('/etc/passwd', options, ...)     // etc/passwd 파일을 options를 사용하여 읽는다.


# callback
콜백함수를 전달받는다
파일을 읽고 난 후에 비동기적으로 실행되는 함수이다.
콜백함수에는 두가지 매개변수가 존재한다 (err, data)
에러가 발생 x => err는 null이 된다. data에  string이나 buffer라는 객체가 전달된다.data는 파일의 내용이다.

 

const getDataFromFile = function (filePath, callback) {
  //파일을 읽어와야 한다. 
  fs.readFile(filePath,'utf8',(err,data) => {
    //utf8 로 변환한다. 없으면 data는 toString() 작성.
    if(err){
      callback(err,null)
    }else{
      callback(null,data) // or (null,data.toString();)
    }
  });
};
728x90

'부트캠프교육중 > JavaScript' 카테고리의 다른 글

Axios  (0) 2023.01.19
Fetch API  (0) 2023.01.19
Node.js 모듈  (0) 2023.01.18
Async , Await  (0) 2023.01.17
Promise  (0) 2023.01.17