비동기 요청의 가장 대표적인 사례는 네트워크 요청이다. 네트워크를 통해 이루어지는 요청은 그 형태가 다양하다. 그중에서도 URL으로 요청하는 경우가 가장 많은데 그것을 가능하게 해주는 API가 바로 fetch API이다
fetch()기본 구문let promise = fetch(url, [options])
url- 접근하고자 하는 URLoptions- 선택 매개변수, method나 header등을 지정할 수 있다.
options에 아무것도 넘기지 않으면 요청은 GET 메서드로 진행되어 url로부터 콘텐츠가 다운로드 된다.
fetch()를 호출하면 브라우저는 네트워크 요청을 보내고 프라미스가 반환됩니다. 반환되는 프라미스는 fetch()를 호출하는 코드에서 사용된다.
서버에서 응답 헤더를 받자마자 fetch 호출 시 반환받은 promise가 내장 클래스 Response의 인스턴스와 함께 이행 상태가 된다.
fetch 요청은 두개의 await 호출로 구성된다.let response = await fetch(url, options); // 응답 헤더와 함께 이행됨
let result = await response.json(); // json 본문을 읽음
await 없이도 요청이 가능하다fetch(url, options)
.then(response => response.json())
.then(result => /* 결과 처리 */)```