중요한 차이점들
실행 방식:
Promise.all(): 모든 프라미스를 동시에 시작하고 병렬로 실행한다.async/await: 기본적으로 순차적으로 실행된다.코드 구조:
Promise.all(): 여러 프라미스를 배열로 묶어 한 번에 처리란다.async/await: 각 프라미스를 개별적으로 await 한다.유연성:
Promise.all(): 모든 프라미스가 완료될 때까지 기다리는 것이 고정되어 있다.async/await: 필요에 따라 일부만 기다리거나, 조건부로 기다릴 수 있다.에러 처리:
Promise.all(): 하나라도 실패하면 전체가 실패로 처리된다.async/await: try-catch 문을 사용해 각 프라미스의 에러를 개별적으로 처리할 수 있다.결과 처리:
Promise.all(): 모든 결과를 배열로 한 번에 받는다.async/await: 각 결과를 개별 변수에 할당할 수 있어 더 직관적이다.따라서, 상황에 따라 더 적합한 방법을 선택할 수 있다. 병렬 처리가 필요하면 Promise.all(), 순차적 처리나 더 세밀한 제어가 필요하면 async/await가 유용할 수 있다.