Promise all

유연희·2022년 6월 30일
0

Promise

promise은 자바스크립트 비동기 처리에 사용되는 객체이다.
데이터를 요청하고 응답이 들어올 때까지 다른 task를 처리할 수 있도록 하는 것이다.

자바스크립트를 통해 비동기 코드를 처리하는 방법에는 callback, promise, async-await 등이 있다.

Promise All

Promise.all은 모든 프라미스가 이행될 때까지 기다리다 그 결과 값을 담은 배열을 반환하는 매서드이다.

언제 사용할까?

  1. 여러 개의 프로미스를 처리할 때 사용한다.
  2. 복수의 URL에 동시에 요청을 보내고, 모든 요청의 응답이 완료되길 기다렸다가 응답이 오면 화면에 랜더해야하는 상황에 사용한다.
    3 . 여러개의 프로미스가 모두 resolve되면 다음 로직을 실행해야 하는 경우에 사용한다.

promise all 사용 예시

 const onClickPromise = async () => {
          const result1 = await new Promise((resolve, reject) => {
              setTimeout((resolve("3초 후 실행됩니다.")) => {}, 3000)
          })
          const result2 = await new Promise((resolve, reject) => {
              setTimeout((resolve("2초 후 실행됩니다.")) => {}, 2000)			
          })
          const result3 = await new Promise((resolve, reject) => {
              setTimeout((resolve("1초 후 실행됩니다.")) => {}, 1000)
          })
      };


// Promise.all()

  const onClickPromiseAll = async () => {
      const result = await Promise.all([
          setTimeout((resolve("3초 후 실행됩니다.")) => {}, 3000)
          setTimeout((resolve("2초 후 실행됩니다.")) => {}, 2000)
          setTimeout((resolve("1초 후 실행됩니다.")) => {}, 1000)
      ])
  };
  
  

참고 - https://koras02.tistory.com/194#Promise-all [Koras02코딩웹:티스토리]

profile
developer

0개의 댓글