Promise?

이지영·2024년 9월 5일
post-thumbnail

Promise의 기본개념?

  • 주로 비동기 작업을 처리하는 데 사용된다.
  • 비동기 작업의 완료 또는 실패를 처리하기 위해 사용된다.
  • 비동기 작업이 끝난 이후에 실행될 콜백을 등록할 수 있는 메서드를 제공한다. (.then, .catch 등)

Promise는 어디서 활용할까?

  • API호출, 데이터 가져오기, 파일 읽기 등 여러 비동기 작업을 할 때 Promise를 활용
  • 비동기 처리: Promise는 비동기 작업(API호출)의 결과를 처리하기 위해 사용된다.

Promise의 세가지 상태는 무엇일까?

  • 대기(Pending): 초기상태
  • 이행(Fulfilled): 작업이 성공적으로 완료된 상태
  • 거부(Rejected): 작업이 실패한 상태

then과 catch는 무엇인가?

  • then(): promise가 성공적으로 완료된 후 실행되는 콜백 함수를 정의
  • catch():  Promise가 실패된 후 실행되는 콜백 함수를 정의

then과 catch를 통해서 무엇을 할 수 있나?

  • then과 catch를 이용하여 API호출 중 발새할 수 있는 오류를 처리한다.

Promise는 동기일까 비동기일까?

  • Promise는 기본적으로 비동기이다.

Promise작업이 완료가 되면?

  • 비동기 작업이 완료되면 Promise는 해결(resolved) 되거나 거부(rejected)된다.

P Promise를 사용하면 좋은 점

  • Promise를 사용하면 비동기 작업의 결과를 나중에 처리할 수 있다- - 코드의 가독성을 높이고 에러 처리를 쉽게 할 수 있다.
  • .then이나 .catch를 이용하여 비동기적으로 동작하는 것을 순차적으로(동기적으로) 실행시킬 수 있다.

Promise를 사용하여 순차적으로 처리하는 방법

  • .then을 사용하여 순차적으로 처리

Promise를 사용하여 병렬적으로 처리하는 방법

  • 병렬 처리를 하고 싶으면 Promise.all 메서드를 사용하여 병렬적으로 처리

Promise.all은 무엇을 리턴하는가?

  • Promise.all이 리턴하는것도 Promise

Promise.all은 .then을 사용할 수 있나?

  • Promise.all이 리턴하는 것도 Promise다
    때문에 .then을 사용할 수 있다.

fetch는 동기인가 비동기인가?

  • fetch는 반드시 비동기적으로 동작할 수 밖에 없다.

Executor함수?

  • JavScript의 Promise객체를 생성할 때 사용하는 함수
  • 이 함수는 Promise생성자에 전달되며, 두 개의 매개변수인 resolve와 reject를 받는다.

Promise객체를 생성하는 방법 두 가지

1. Promise생성자를 사용하는 방법

  • Promise생성자는 비동기 작업을 수행할 때 사용된다.
  • 생성자를 사용하여 Promise객체를 만들 떄는 excutor함수를 제공해야한다.

2. Promise를 반환하는 함수 사용

그 함수가 Promise객체를 반환하도록 설계된다.
Promise생성자를 직접 사용하지 않고도 Promise를 사용할 수 있다.

0개의 댓글