TIL79-07 면접준비09: Promise

김태혁·2023년 4월 25일
0

TIL

목록 보기
173/205

Promise

  • Promise는 JavaScript에서 비동기 처리를 위해 사용되는 객체로, 세 가지 상태를 가질 수 있습니다. 이행된 경우 결과 값을, 거부된 경우 에러 정보를 가지고 있으며, then(), catch(), finally()와 같은 메서드를 제공하여 비동기 작업의 결과에 따른 처리를 할 수 있습니다. 최근에는 async/await 문법이 도입되어 Promise 객체를 더욱 쉽게 다룰 수 있습니다.

async/await

  • async/await는 JavaScript에서 비동기 처리를 보다 간편하게 다룰 수 있도록 도입된 문법입니다.
  • async 키워드로 함수를 정의하고, 함수 내에서 await 키워드를 사용하여 Promise를 기다릴 수 있습니다. 이 때, 함수는 Promise를 반환하게 됩니다.
  • await 키워드를 사용하면, Promise가 이행될 때까지 코드의 실행을 일시 중단하고, Promise가 이행된 이후에야 다음 코드를 실행합니다. 이를 통해 비동기 코드를 마치 동기 코드처럼 보이게끔 작성할 수 있습니다.
  • 또한 try-catch 문을 사용하여 Promise가 거부될 경우 에러를 처리할 수 있습니다.
  • async/await 문법은 Promise 객체를 보다 직관적이고 간결하게 다룰 수 있도록 도와줍니다.

심화

  • Promise는 JavaScript에서 비동기 처리를 위해 사용되는 객체입니다.

  • 비동기 처리란, 코드의 실행 흐름과 상관 없이 특정 작업을 실행하고 그 결과를 나중에 받아서 처리하는 방식입니다. 대표적으로 Ajax 요청, 파일 읽기 등이 있습니다.

  • Promise는 비동기 작업의 결과를 나타내는 객체로서, 다음과 같은 세 가지 상태를 가질 수 있습니다.

    • 대기(pending): 작업이 아직 수행되지 않은 상태
    • 이행(fulfilled): 작업이 성공적으로 완료된 상태
    • 거부(rejected): 작업이 실패한 상태
  • Promise 객체는 비동기 작업의 결과를 나타내는 상태 정보뿐 아니라, 이행된 경우 결과 값을 가지고, 거부된 경우 에러 정보를 가지고 있습니다. 이러한 정보를 이용하여 비동기 작업을 보다 간편하게 처리할 수 있습니다.

  • Promise 객체는 then(), catch(), finally()와 같은 메서드를 제공하여 비동기 작업의 결과에 따른 처리를 할 수 있습니다. then() 메서드는 이행된 경우 실행할 콜백 함수, catch() 메서드는 거부된 경우 실행할 콜백 함수, finally() 메서드는 작업 완료 후 무조건 실행할 콜백 함수를 지정할 수 있습니다.

  • 최근에는 async/await 문법이 도입되어서 Promise 객체를 더욱 쉽게 다룰 수 있게 되었습니다.

profile
도전을 즐기는 자

0개의 댓글