fs module, fetch API

Džeko.Log·2021년 4월 27일
0

fs module이란?

: 파일 처리와 관련된 작업을 하는 모듈로, 보통 FileSystem을 줄여서 fs 모듈이라고 줄여 부른다(fs모듈은 파일을 읽고, 저장하는등 파일과 관련된 모듈들을 내장하고 있다.)

<동기적 읽기 방식과 비동기적 읽기 방식>

fs.readFile(filename, [options], callback) : filename의 파일을 [options]의 방식으로 읽은 후 callback으로 전달된 함수를 호출합니다. (비동기적)
fs.readFileSync(filename, [options]) : filename의 파일을 [options]의 방식으로 읽은 후 문자열을 반환합니다.(동기적)
fs.writeFile(filename, data, [options], callback) : filename의 파일에 [options]의 방식으로 data 내용을 쓴 후 callback 함수를 호출합니다.(비동기적)
fs.writeFileSync(filename, data, [options]) : filename의 파일에 [options]의 방식으로 data 내용을 씁니다.(동기적)

fs.readFile

//main.js
var fs = require('fs');
 

// 비동기적 읽기
fs.readFile('text.txt', 'utf8', function(err, data) {
    console.log('비동기적 읽기 ' + data);
});

// 동기적 읽기
var text = fs.readFileSync('text.txt', 'utf8');
console.log('동기적 읽기 ' + text);

// 비동기적 읽기가 먼저 실행됨에도 불구하고 console에는 동기적 읽기가 먼저 출력됨.
// 쓰기도 마찬가지로, 아래 코드를 실행하면 '동기적 파일 쓰기 완료'가 먼저 출력될 것이다.

동기적 방식 예외처리

// main.js
var fs = require('fs');
 
// 파일 읽기(동기적)
try {
	var data = fs.readFileSync('notexist.txt', 'utf8'); // 파일이 없는데 읽으려 함
	console.log(data);
} catch (err) {
    console.log(err);
}

// 동기적 방식에서는 자바스크립트에서 예외처리를 할 때 일반적으로 써주는 방식인 try~catch 구문으로 처리

비동기적 방식 예외처리

// main.js
var fs = require('fs');
 
// 파일 읽기
fs.readFile('notexist.txt', 'utf8', function(err, data) { // 존재하지 않는 파일 읽기
    if (err) {
        console.log(err); // 읽기 실패
    }
    else {
        console.log(data); // 읽기 성공
    }
});
// 비동기적 방식에서는 예외가 발생하면 callback 함수의 매개변수 err에 전달되므로, 따로 try~catch 구문을 사용할 필요가 없음

fetch란?

: JavaScript에서 서버로 네트워크 요청을 보내고 응답을 받을 수 있도록 해주는 매서드이다.

fetch property

  • method (통신 방식) : GET(default) / POST 등이 있음.
    1) GET : 어떠한 정보를 백엔드 서버에서 가져올 때 이용
    2) POST : 어떠한 정보를 백엔드 서버에 보낼 때 이용
    3) DELETE : 단어 그대로 삭제할 때 사용
  • headers : API 응답에 대한 헤더 정보를 담음, Http Header와 대응
  • body : 전달하고자 하는 응답 내용. 백엔드 서버와 통신할 때, 객체를 이용하여 통신하므로 객체 타입으로 작성
    Json 객체 이용 -> .strignify() 메서드를 이용해서 자바스크립트 값 or 객체를 JSON 문자열로 반환

fetch API 사용법

fetch(url)
  .then(response => response.json()) // 자체적으로 json() 메소드가 있어, 응답을 JSON 형태로 변환시켜서 다음 Promise로 전달합니다
  .then(json => console.log(json)) // 콘솔에 json을 출력합니다
  .catch(error => console.log(error)); // 에러가 발생한 경우, 에러를 띄웁니다

0개의 댓글