[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를 참고하세요.