[javascript] 비동기 코드 개선
JavaScript는 단일 스레드 언어이므로 비동기 코드를 효과적으로 다루는 것이 매우 중요합니다. 비동기 코드는 네트워크 요청, 파일 읽기/쓰기, 데이터베이스 액세스 등의 작업에 적합합니다.
콜백 지옥 해결
일반적으로, 콜백 함수를 중첩하여 사용하면 코드가 길어지고 가독성이 떨어지는 “콜백 지옥”이 발생할 수 있습니다. 이러한 문제를 해결하기 위해 Promise나 async/await와 같은 개념을 사용할 수 있습니다.
다음은 간단한 Promise 예시입니다.
function getData() {
return new Promise((resolve, reject) => {
// 비동기 작업 수행
if (작업 성공) {
resolve(결과);
} else {
reject(에러);
}
});
}
getData()
.then(result => {
// 결과 처리
})
.catch(error => {
// 에러 처리
});
Async/Await 활용
async/await는 Promise를 보다 간결하고 가독성이 좋게 사용할 수 있는 방법입니다.
async function process() {
try {
let result = await getData();
// 결과 처리
} catch (error) {
// 에러 처리
}
}
async/await를 사용하면 비동기 코드를 동기식처럼 작성할 수 있어 가독성과 유지보수성을 높일 수 있습니다.
람다 함수 활용
람다 함수를 사용하면 코드를 보다 간결하게 작성할 수 있습니다.
getData()
.then(result => doSomething(result))
.catch(error => handleErrors(error));
람다 함수를 사용하면 콜백 함수를 별도로 선언하지 않고 한 줄로 작성하여 코드를 간결하게 만들 수 있습니다.
비동기 코드를 효율적으로 처리하여 JavaScript 애플리케이션의 성능과 유지보수성을 향상시킬 수 있습니다.