비동기 JavaScript를 활용한 데이터 가져오기 🌐
비동기 JavaScript는 웹 개발에서 중요한 부분입니다. 이를 통해 사용자 경험을 향상시키고, 웹 페이지가 데이터를 로드하는 동안 멈추지 않도록 할 수 있습니다. 오늘은 이 기술을 사용하여 데이터를 어떻게 가져오는지 알아보겠습니다.
기본 이해
웹 페이지가 서버로부터 데이터를 요청할 때, 비동기 처리를 사용하면 해당 요청이 백그라운드에서 이루어지며, 데이터가 도착하면 페이지에 표시됩니다. 이는 페이지 전체를 새로고침하지 않고도 새로운 데이터를 표시할 수 있게 해줍니다.
예제: Fetch API 사용하기
JavaScript에서 가장 간단하게 비동기 요청을 처리하는 방법 중 하나는 fetch
API를 사용하는 것입니다. 아래는 간단한 예제 코드입니다.
fetch('https://api.example.com/data')
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
이 코드는 다음과 같이 작동합니다:
fetch
함수는 웹 API로부터 데이터를 요청합니다. 이 함수는 Promise를 반환합니다, 즉 요청이 완료될 때까지 기다리지 않고 즉시 실행됩니다.then
메소드는 요청이 성공적으로 완료되면 실행됩니다. 첫 번째then
은 응답을 JSON 형태로 변환합니다.- 두 번째
then
은 변환된 데이터를 받아와서 콘솔에 출력합니다. - 만약 요청 중에 오류가 발생하면,
catch
블록이 실행되어 오류를 처리합니다.
Async/Await 사용하기
더 깔눔하고 동기적인 코드의 모습으로 비동기 코드를 작성하고 싶다면, async
와 await
를 사용할 수 있습니다. 위의 예제를 async/await
를 사용하여 다시 작성해 보겠습니다.
async function fetchData() {
try {
const response = await fetch('https://api.example.com/data');
const data = await response.json();
console.log(data);
} catch (error) {
console.error('Error:', error);
}
}
fetchData();
이 코드는 다음과 같이 작동합니다:
async
함수fetchData
를 선언합니다. 이 함수 내부에서는await
키워드를 사용하여 비동기 작업을 기다립니다.fetch
함수로 데이터를 요청하고,await
를 사용하여 요청이 완료될 때까지 기다립니다.- 요청이 완료되면, 응답을 JSON으로 변환하고, 결과 데이터를 콘솔에 출력합니다.
- 요청 중 오류가 발생하면,
catch
블록이 실행되어 오류를 처리합니다.
마무리
비동기 JavaScript를 사용하면 사용자 경험을 크게 향상시킬 수 있습니다. fetch
API와 async/await
는 이를 위한 강력한 도구입니다. 이 기술들을 활용하여, 사용자에게 더욱 빠르고 부드러운 웹 경험을 제공해 보세요.