프로미스(Promise)와 async/await에 대해 설명해보세요.

긍정·2023년 4월 20일
0

프로미스(Promise)

프로미스는 자바스크립트 비동기 처리에 사용되는 객체입니다.
Promise 객체는 비동기 작업이 맞이할 미래의 완료 또는 실패와 그 결괏값을 나타냅니다.
값이 참이면 resolve 를 호출하고, 아닐시에는 reject 를 호출합니다.
resolve 한 반환 값에 대해서는 then() 을 통해 결과 값을 반환 받을 수 있고 reject 의 반환 값에 대해서는 catch() 를 통해 반환 받습니다.

싱글스레드인 자바스크립트에서 비동기 처리를 위해 사용한 Callback 함수의 에러/예외처리의 어려움, 중첩으로 인한 복잡도 증가라는 단점을 해결하기 위해 프로미스 객체를 ES6에서 언어적 차원으로 지원합니다.
Promise가 콜백을 대체하는 것은 아니지만, 콜백을 예측 가능한 패턴으로 사용할 수 있게 하며 Promise 없이 콜백만 사용했을 때 예상치 못한 동작을 막아주거나 찾기 힘든 버그를 상당수 해결해줍니다.

async/await

async & await는 비동기식 코드를 동기식으로 표현하여 간단하게 나타내는 것을 의미합니다.
async/await 키워드는 Promise 결과 값을 then, catch를 통해 다루는 것이 아닌 변수에 담아 동기적 코드처럼 작성해줄 수 있다는 점에서 편리함을 제공합니다.

https://whales.tistory.com/131

https://velog.io/@pilyeooong/Promise%EC%99%80-asyncawait-%EC%B0%A8%EC%9D%B4%EC%A0%90

https://mong-blog.tistory.com/entry/promise%EC%99%80-async-await%EC%9D%98-%EC%B0%A8%EC%9D%B4%EC%A0%90

profile
긍정긍정

0개의 댓글