[javascript] 콜백 지옥에서 벗어나는 방법

콜백 지옥(callback hell)은 콜백 함수를 중첩하여 사용하는 코드로 인해 발생하는 가독성이 떨어지고 유지보수가 어려운 상황을 말합니다. 이러한 상황을 해결하기 위해 프라미스(Promise)async/await를 사용할 수 있습니다.

1. 프라미스(Promise)

프라미스는 비동기 작업을 효율적으로 처리하기 위한 객체로, 성공 또는 실패와 같은 상태를 가지고 있습니다. 다음은 프라미스를 사용하여 콜백 지옥을 벗어나는 예시입니다.

function asyncTask() {
  return new Promise((resolve, reject) => {
    // 비동기 작업 수행
    if (작업성공) {
      resolve(result);
    } else {
      reject(error);
    }
  });
}

asyncTask()
  .then(result => {
    // 성공 시 처리
  })
  .catch(error => {
    // 실패 시 처리
  });

2. async/await

async/await는 비동기 코드를 동기식으로 작성할 수 있도록 해주는 문법입니다. 아래는 async/await를 사용하여 프라미스를 처리하는 예시입니다.

async function myAsyncFunction() {
  try {
    let result = await asyncTask();
    // 성공 시 처리
  } catch (error) {
    // 실패 시 처리
  }
}

이러한 방법을 사용하면 콜백 지옥을 효과적으로 벗어날 수 있습니다.

콜백 지옥에서 벗어나기 위한 더 많은 팁과 예시는 mdn web docs를 참고하세요.