[JS/Node] 비동기 (2)

이성은·2022년 11월 23일
0
post-custom-banner

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

  • 메서드 fs.readFile 은 비동기적으로 파일 내용 전체를 읽습니다. 이 메서드를 실행할 때에는 전달인자 세 개를 받습니다.
  • path \<string> | \<Buffer> | \<URL> | \<integer>
    • path에는 파일 이름을 전달인자로 받습니다. 네 가지 종류의 타입을 넘길 수 있지만 일반적으로 문자열(<string>)의 타입을 받습니다.
      //< 'etc/passwd' 라는 파일을 불러오는 예제>
      fs.readFile('/etc/passwd', ..., ...)
  • options\<Object> | \<string>
    • 대괄호로 감싼 두 번째 전달인자 options는 넣을 수도 있고, 넣지 않을 수도 있습니다. 대괄호는 선택적 전달인자를 의미합니다.
    • options는 문자열 또는 객체 형태로 받을 수 있습니다. 문자열로 전달할 경우 인코딩을 받습니다.
// /etc/passwd 파일을 'utf8'을 사용하여 읽습니다.
fs.readFile('/etc/passwd', 'utf8', ...);

let options = {
  encoding: 'utf8', // utf8 인코딩 방식으로 엽니다
  flag: 'r' // 읽기 위해 엽니다
}
// /etc/passwd 파일을 options를 사용하여 읽습니다.
fs.readFile('/etc/passwd', options, ...)   
  • callback \<Function>
    • err \<Error> | \<AggregateError>
    • data \<string> | \<Buffer>
      • 콜백 함수를 전달합니다. 파일을 읽고 난 후에 비동기적으로 실행되는 함수
      • 콜백 함수에는 두 가지 매개변수가 존재합니다. 에러가 발생하지 않으면 err 는 null 이 되며, data 에 문자열이나 Buffer 라는 객체가 전달됩니다. data 는 파일의 내용입니다.
fs.readFile('test.txt', 'utf8', (err, data) => {
  if (err) {
    throw err; // 에러를 던집니다.
  }
  console.log(data);
});
profile
함께 일하는 프론트엔드 개발자 이성은입니다🐥
post-custom-banner

0개의 댓글