[javascript] 프로미스를 활용한 네트워크 통신 작업

네트워크 통신은 웹 애플리케이션에서 핵심적인 기능 중 하나입니다. 프로미스(Promise)는 자바스크립트에서 비동기 작업을 처리하기 위한 객체로, 네트워크 통신과 같은 비동기 작업을 쉽게 다룰 수 있게 도와줍니다.

프로미스란?

프로미스는 자바스크립트에서 비동기 작업의 결과를 다루기 위한 객체입니다. 성공적인 완료나 실패 등의 결과를 처리할 수 있으며, 다른 비동기 작업을 체이닝하여 실행할 수도 있습니다. 프로미스는 resolvereject라는 두 가지 상태를 가지며, 비동기 작업을 수행하고 결과를 반환할 때 사용됩니다.

네트워크 통신을 위한 프로미스 활용

  1. 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);
      });
    
  2. 위의 코드에서 fetch 함수는 네트워크 요청을 수행하고 response 객체를 반환합니다. 이후, response 객체의 상태를 확인하고 정상적인 응답인 경우 json 메소드를 호출하여 데이터를 추출합니다. 그리고 다시 다음 then 블록으로 넘어가서 데이터를 처리합니다.

  3. 만약 네트워크 요청이 실패한 경우, catch 블록으로 넘어가서 에러를 처리합니다.

프로미스를 사용하면 비동기 작업을 보다 직관적이고 편리하게 처리할 수 있습니다. 네트워크 통신과 같은 비동기 작업을 다룰 때, 프로미스를 활용하는 것을 권장합니다.

참고 자료