I have the following piece of code:
but currently errors are not handled in any way. Would it be correct to surround that piece of code with try-catch like this:
try/catch
is a correct way to catch errors from Promise.all
, but at the same time, it will ignore all fulfilled requests once only a single request failed, which is not ideal if you still want to have other successful requests' data instead of logging errors, so I'd suggest you use Promise.allSettled
With this solution, it will keep all requests including failed ones and successful ones
const [groupedMeditations, meditationPreferences] = await Promise.allSettled([
getMeditationsByGroup(),
getAllPreferences(),
]);
A possible result can be
[
{status: "fulfilled", value: "successful value"}, // your 1st request passed
{status: "rejected", reason: "Error: an error"} //your 2nd request failed
]
From that response, you can filter or log errors
Just one side note that Promise.allSettled
does not work for IE, so you need to have polyfill to overcome that
Hopefully, it's helpful for your case:D
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.