fetch
-
fetch(url, [options]
는 JS 의 내장 네트워크 요청 메서드로 접근하고자 하는 URL에 options 넣어서 요청하고 프라미스가 반환되며 반환된 프라미스는 fetch() 호출하는 코드에서 사용됨 -
응답 순서
- 서버에서 응답 헤더 받자마자 fetch 호출 시 반환받은 promise 가 내장 클래스 Response의 인스턴스와 함께 이행됨
-
본문이 도착하기 전이지만 응답 헤더를 보고 요청이 성공/실패 인지 알 수 있음
-
HTTP 요청이 보낼 수 없는 상태에선 프라미스는 거부 상태가 됨
- 추가 메서드를 호출해 응답 본문 받음
-
일반적인 fetch 요청은 두 개의 await 호출로 구성됨 (await 없이도 요청 보내기 가능)
-
응답 헤더는 response.headers 에 맵과 유사한 형태로 저장되며 유사한 메서드 지원(맵은 아님)
-
응답 객체인 response(Response 의 인스턴스) 는 여러 프로퍼티/메서드 가지고 있어서 응답 객체 팩토링 가능
-
fetch는 옵션으로 method(HTTP 메서드), headers(요청 헤드가 담긴 객체로 제약 사항 있음), body(보내려는 데이터로 형태 정해져있음) 설정 가능
-
Blow 이나 BufferSource 객체로 fetch로 바이너리 데이터 전송 가능