[javascript] 프로미스를 활용한 네트워크 통신 작업
네트워크 통신은 웹 애플리케이션에서 핵심적인 기능 중 하나입니다. 프로미스(Promise)는 자바스크립트에서 비동기 작업을 처리하기 위한 객체로, 네트워크 통신과 같은 비동기 작업을 쉽게 다룰 수 있게 도와줍니다.
프로미스란?
프로미스는 자바스크립트에서 비동기 작업의 결과를 다루기 위한 객체입니다. 성공적인 완료나 실패 등의 결과를 처리할 수 있으며, 다른 비동기 작업을 체이닝하여 실행할 수도 있습니다. 프로미스는 resolve
와 reject
라는 두 가지 상태를 가지며, 비동기 작업을 수행하고 결과를 반환할 때 사용됩니다.
네트워크 통신을 위한 프로미스 활용
fetch
함수를 사용하여 네트워크 요청을 수행하고, 해당 요청의 결과를 프로미스 형태로 반환받을 수 있습니다. 예를 들어, 아래의 코드는fetch
함수를 사용하여 API로부터 데이터를 가져오는 예제입니다.fetch('https://api.example.com/data') .then(response => { if (response.ok) { return response.json(); } else { throw new Error('Failed to fetch data'); } }) .then(data => { console.log(data); }) .catch(error => { console.error(error); });
-
위의 코드에서
fetch
함수는 네트워크 요청을 수행하고response
객체를 반환합니다. 이후,response
객체의 상태를 확인하고 정상적인 응답인 경우json
메소드를 호출하여 데이터를 추출합니다. 그리고 다시 다음then
블록으로 넘어가서 데이터를 처리합니다. - 만약 네트워크 요청이 실패한 경우,
catch
블록으로 넘어가서 에러를 처리합니다.
프로미스를 사용하면 비동기 작업을 보다 직관적이고 편리하게 처리할 수 있습니다. 네트워크 통신과 같은 비동기 작업을 다룰 때, 프로미스를 활용하는 것을 권장합니다.