promise
JavaScript에서 Promise는 비동기 작업을 수행할 때 사용하는 객체입니다. Promise는 비동기 작업이 완료될 때까지 기다리면서 블록하지 않고 코드를 실행할 수 있도록 도와주는 역할을 합니다.
Promise 객체는 새로운 promise를 생성하는 생성자 함수를 사용하여 만들 수 있으며, 성공(resolve) 또는 실패(reject)의 결과를 처리하기 위한 콜백 함수를 제공합니다.
예를 들어, HTTP 요청과 같은 비동기 작업을 수행할 때 Promise를 사용할 수 있으며, 이를 통해 콜백 지옥(callback hell)을 피하고 비동기 코드를 보다 쉽게 관리할 수 있습니다.
JavaScript에서 async
를 사용하는 이유는 비동기 작업을 보다 쉽게 관리하기 위해서입니다. async
는 비동기 작업의 결과를 처리하기 위한 콜백 함수 대신에 Promise
를 반환하는 함수 내에서 사용됩니다.
기존에는 콜백 함수를 사용하여 비동기 작업을 처리하는 방식이 일반적이었습니다. 하지만 콜백 함수를 계속 중첩하여 사용하다 보면 코드가 복잡해지고, 가독성이 떨어지는 콜백 지옥(callback hell)이 발생하기도 합니다.
async
를 사용하면 비동기 작업을 await
키워드를 사용하여 동기적인 코드 조각으로 쉽게 작성할 수 있습니다. 또한 try-catch
문과 함께 사용하여 에러 처리를 쉽게 할 수 있습니다. 이러한 이점들을 통해 비동기 작업을 보다 쉽게 관리할 수 있습니다.