April 2025 posted on 04.16.2025 Home Papers Essays Blog Verse Fiction Using Promise.race() to implement request timeout Promise.race() takes a list of promises and returns the first promise that settles (regardless if fulfilled or rejected). Good use to implement a request timeout. It resolves the first promise that settles which will either be the fetch request or the timeout promise. const fetchApi = async () => { const res = await fetch("/api"); return await res.json(); }; const requestTimeout = (delay: number) => { return new Promise((resolve, reject) => { setTimeout(() => reject(new Error("Timeout")), delay); }); }; const data = Promise.race([fetchApi, requestTimeout(5000)]); No reactions yet
Using Promise.race() to implement request timeout
Promise.race() takes a list of promises and returns the first promise that settles (regardless if fulfilled or rejected).
Good use to implement a request timeout. It resolves the first promise that settles which will either be the fetch request or the timeout promise.