Instantly share code, notes, and snippets.

Embed
What would you like to do?
fetch with timeout
const API_URL = '...';
const TIMEOUT = 10; // seconds
export default (path) => {
/* global fetch */
const req = fetch(API_URL + path);
const timeout = new Promise((resolve, reject) => {
return setTimeout(() => reject(new Error('request timeout')), TIMEOUT * 1000);
});
return Promise.race([req, timeout]).then(response => response.json());
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment