[javascript] 병렬적인 비동기 작업을 처리하는 방법

Promise.all()은 주어진 모든 Promise를 병렬로 실행하고, 모든 Promise가 이행될 때까지 기다린 후에 하나의 Promise로 값을 반환합니다. 아래는 Promise.all()을 사용하여 병렬 처리를 하는 간단한 예제입니다.

const promise1 = new Promise((resolve, reject) => {
  setTimeout(() => {
    resolve('첫 번째 비동기 작업 완료');
  }, 1000);
});

const promise2 = new Promise((resolve, reject) => {
  setTimeout(() => {
    resolve('두 번째 비동기 작업 완료');
  }, 2000);
});

Promise.all([promise1, promise2])
  .then((results) => {
    console.log(results);
  })
  .catch((error) => {
    console.error(error);
  });

위의 코드는 promise1과 promise2를 병렬로 실행하고, 두 Promise가 모두 이행된 후에 결과를 출력합니다.

이 외에도 async/awaitweb worker와 같은 기술을 사용하여 병렬 처리를 할 수 있습니다. 이러한 방법들은 작업의 병렬 처리를 효율적으로 수행할 수 있도록 도와줍니다.

이러한 방법들을 통해 병렬적인 비동기 작업을 처리하여 웹 애플리케이션의 효율성과 성능을 향상시킬 수 있습니다.

Promise.all() 메서드 자세히 알아보기