Promise.race() 메서드를 사용한 여러 개의 Promise 중 가장 빨리 처리되는 것 선택

JavaScript에서 Promise는 비동기 작업을 처리하는 데 사용되는 객체입니다. Promise는 일련의 작업이 완료되기를 기다리는 것을 도와주고, 작업이 완료되면 결과를 반환합니다.

Promise.race() 메서드는 여러 개의 Promise 객체를 받아서, 가장 빨리 처리되는 Promise를 반환하는 메서드입니다. 이를 사용하면 여러 개의 비동기 작업 중에서 가장 빨리 결과를 얻을 수 있습니다.

아래는 Promise.race() 메서드를 사용하여 가장 빨리 처리되는 Promise를 선택하는 예제입니다.

const promise1 = new Promise((resolve, reject) => {
  setTimeout(resolve, 1000, 'Promise 1');
});

const promise2 = new Promise((resolve, reject) => {
  setTimeout(resolve, 500, 'Promise 2');
});

const promise3 = new Promise((resolve, reject) => {
  setTimeout(resolve, 2000, 'Promise 3');
});

Promise.race([promise1, promise2, promise3])
  .then((result) => {
    console.log('가장 빨리 처리된 Promise:', result);
  })
  .catch((error) => {
    console.error('에러 발생:', error);
  });

위의 코드는 세 개의 Promise 객체를 생성하고, 각각 다른 시간 간격으로 값을 반환합니다. Promise.race() 메서드를 사용하여 이 세 개의 Promise 중 가장 빨리 처리되는 Promise를 선택합니다. 이후 선택된 Promise의 결과를 then() 메서드를 통해 출력하고, 에러가 발생한 경우에는 catch() 메서드를 통해 에러를 처리합니다.

이렇게 Promise.race() 메서드를 사용하면 여러 개의 Promise 중에서 가장 빠르게 결과를 얻을 수 있습니다. 이는 비동기 작업 중에서 가장 효율적인 처리를 할 수 있게 해줍니다.

#JavaScript #Promise