Every async function you write assumes the network cooperates, the server responds, and the database doesn't hiccup. In production, none of those assumptions hold forever.
Here are two higher-order functions — each under 15 lines — that make any async function resilient without touching its internals.
The problem
You have an async function. Maybe it calls an API, queries a database, or reads a file over the network.
async function fetchUserData(userId) {






