api 세 개를 병렬로 부르려고 Promise.all 썼는데요, 하나가 실패하니까 나머지 성공한 값까지 다 날아가더라고요. 대충 이런 코드예요.


const [a, b, c] = await Promise.all([
  fetchProfile(),
  fetchOrders(), // 여기서 500 남
  fetchCoupons()
]);


중간꺼(fetchOrders)만 터졌는데 catch로 빠지면서 profile이랑 coupons 성공값도 못 받고 그냥 throw 돼버려요. 저는 하나쯤 실패해도 나머지는 보여주고 싶은 거거든요. all이 원래 이렇게 동작하는 게 맞나요? 아니면 제가 뭘 잘못 쓰고 있는 건지... 실패한 것만 빼고 나머지 결과를 받는 방법 없을까요? Promise.race나 any 같은 것도 있던데 그거 쓰면 되는 건가 싶기도 하고 헷갈리네요.