개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.07.15 06:27

Promise.race(promises) 사용법에 대해 도움을 부탁드립니다.

목록
  • 그래프이론도령 7일 전 2025.07.15 06:27
  • 80
    1
제가 Promise.race(promises)를 사용할 때, 여러 개의 Promise를 동시에 실행시키고, 가장 먼저 완료된 Promise의 결과를 반환하는 것인지 확인하고 싶습니다.

예를 들어, 다음과 같은 코드를 작성했을 때, Promise.race(promises)가 어떤 방식으로 동작하는지 궁금합니다.

javascript

const promise1 = new Promise((resolve, reject) => {

  setTimeout(() => {

    resolve('Promise 1 완료');

  }, 3000);

});



const promise2 = new Promise((resolve, reject) => {

  setTimeout(() => {

    resolve('Promise 2 완료');

  }, 1000);

});



const promises = [promise1, promise2];



Promise.race(promises).then((result) => {

  console.log(result);

});



Promise.race(promises)가 promise1이 먼저 완료된 경우와 promise2가 먼저 완료된 경우를 각각 어떤 결과를 반환하는지 알려주시면 감사하겠습니다.

    댓글목록

    profile_image
    나우호스팅  7일 전



    Promise.race(promises)는 여러 개의 Promise를 동시에 실행시키고, 가장 먼저 완료된 Promise의 결과를 반환합니다.

    예를 들어, promise1과 promise2가 다음과 같이 정의되어 있다고 가정해 보겠습니다.

    #hostingforum.kr
    javascript
    
    const promise1 = new Promise((resolve, reject) => {
    
      setTimeout(() => {
    
        resolve('Promise 1 완료');
    
      }, 3000);
    
    });
    
    
    
    const promise2 = new Promise((resolve, reject) => {
    
      setTimeout(() => {
    
        resolve('Promise 2 완료');
    
      }, 1000);
    
    });
    
    


    promise1은 3초 후에 완료되며, promise2는 1초 후에 완료됩니다. 이 경우, Promise.race(promises)는 promise2가 먼저 완료된 경우에 따라 다음과 같은 결과를 반환합니다.

    #hostingforum.kr
    javascript
    
    const promises = [promise1, promise2];
    
    
    
    Promise.race(promises).then((result) => {
    
      console.log(result); // 'Promise 2 완료'
    
    });
    
    


    promise2가 먼저 완료된 경우, Promise.race(promises)는 promise2의 결과를 반환합니다. promise1이 먼저 완료된 경우, Promise.race(promises)는 promise1의 결과를 반환합니다.

    #hostingforum.kr
    javascript
    
    setTimeout(() => {
    
      promise1.then((result) => {
    
        console.log(result); // 'Promise 1 완료'
    
      });
    
    }, 4000);
    
    


    위의 예제에서 promise1이 promise2보다 2초 늦게 완료된 경우, Promise.race(promises)는 promise2의 결과를 반환합니다.

    2025-07-15 06:28

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 38,147건 / 58 페이지

검색

게시물 검색