less than 1 minute read

  • fetch(url, [options]는 JS 의 내장 네트워크 요청 메서드로 접근하고자 하는 URL에 options 넣어서 요청하고 프라미스가 반환되며 반환된 프라미스는 fetch() 호출하는 코드에서 사용됨

  • 응답 순서

    1. 서버에서 응답 헤더 받자마자 fetch 호출 시 반환받은 promise 가 내장 클래스 Response의 인스턴스와 함께 이행됨
    • 본문이 도착하기 전이지만 응답 헤더를 보고 요청이 성공/실패 인지 알 수 있음

    • HTTP 요청이 보낼 수 없는 상태에선 프라미스는 거부 상태가 됨

    1. 추가 메서드를 호출해 응답 본문 받음
  • 일반적인 fetch 요청은 두 개의 await 호출로 구성됨 (await 없이도 요청 보내기 가능)

  • 응답 헤더는 response.headers 에 맵과 유사한 형태로 저장되며 유사한 메서드 지원(맵은 아님)

  • 응답 객체인 response(Response 의 인스턴스) 는 여러 프로퍼티/메서드 가지고 있어서 응답 객체 팩토링 가능

  • fetch는 옵션으로 method(HTTP 메서드), headers(요청 헤드가 담긴 객체로 제약 사항 있음), body(보내려는 데이터로 형태 정해져있음) 설정 가능

  • Blow 이나 BufferSource 객체로 fetch로 바이너리 데이터 전송 가능