Fetch API + async/await를 사용해서 HTTP 요청을 하고 데이터를 화면에 출력하는 예제
<button id="async-await-btn">1번 게시글 데이터 요청 후 게시글의 내용 화면에 출력</button>
<div>1번 게시글 내용: <span id="post-content"></span></div>
<span> 안에 출력document.querySelector('#async-await-btn').addEventListener('click', () => {
fetchDataByAsyncAwait();
});
fetchDataByAsyncAwait() 함수를 호출async function fetchDataByAsyncAwait() { ... }
async 붙이면 함수가 항상 Promise를 반환await를 사용해 비동기 처리를 동기 코드처럼 작성 가능const response = await fetch('https://jsonplaceholder.typicode.com/posts/1');
await를 붙이면 Promise가 이행(resolve)될 때까지 기다림response 변수에 들어감const jsonData = await response.json();
response.json()도 Promise 반환await → JSON 문자열을 JS 객체로 변환 후 jsonData에 저장document.getElementById('post-content').innerText = jsonData.body;
body 속성을 가져와 화면에 출력HTML 요소 만들기 (버튼 + 출력 영역)
비동기 함수 정의 (async function fetchDataByAsyncAwait() {...})
버튼 이벤트 등록 → 클릭 시 비동기 함수 호출
비동기 함수 내부:
await fetch() → Response 객체await response.json() → JS 객체fetch() 호출 → 서버 요청 시작await)await response.json())jsonData.body 출력⚡ 특징: async/await 덕분에 코드가 순차적으로 위 → 아래 읽히므로
“마치 동기 코드처럼” 자연스러운 순서로 실행됨