비동기에서 Promise.all로 동시 로직 작성하기

송인성·2021년 9월 19일
0

🤔오늘의 핫이슈는, 예를 들어서 두가지의 일을 처리해야합니다.
1. 사과나무에 사과를 따는일
2. 배나무에서 배를 따는일

1,2두가지일은 동시에 진행해도 문제가 없다고 했을때 코드로 어떤식으로 적용시켜야할지에 대한 고민입니다

const appleWorking = () => {
	사과 따는일 하는 func
}
    
const pearWorking = () => {
    배 따는일 하는 func
}
    
  
const 과일따는Working = async() => {
  await appleWorking();
  await pearWorking();
}

과일따는Working();

위와 같은 코드가 있을때 사과를 다 따고나서 배를 따게됩니다.
하지만 오늘의 핫 이슈는 배를 따면서도 사과를 딸 수 있는 상황이라고 한다면 이 둘을 같이 해결하는게 더 좋은 방법일 수 있습니다.
그럴때 사용하는 방법으로 Promise.all을 사용할 수 있습니다.


const 과일따는Working = async() => {
  const [appleResult,pearResult] = await Promise.all([
        appleWorking(),
        pearWorking();
    ]);
}

위와같이 한다면 일을 동시에 진행 할 수 있게됩니다.
async await은 편리하면서도 코드의 효율을 떨어뜨릴수도 있으니 동시에 처리할 수 있는 일에대해서 논리적으로 사고할 수 있는 제가 되었으면 좋겠습니다 🙂

profile
코드 한줄에 의미를 생각할 수 있는 개발자가 되어 가는중... 🧑🏻‍💻

0개의 댓글