add timeout of 15 secs to all fetch requests
This commit is contained in:
parent
bea1436711
commit
82e003f7f5
|
@ -1,5 +1,16 @@
|
||||||
|
const TIMEOUT = 15000
|
||||||
|
|
||||||
|
function fetchWithTimeout(url, options) {
|
||||||
|
return Promise.race([
|
||||||
|
fetch(url, options),
|
||||||
|
new Promise((resolve, reject) => {
|
||||||
|
setTimeout(() => reject(new Error(`Timed out after ${TIMEOUT / 1000} seconds`)), TIMEOUT)
|
||||||
|
})
|
||||||
|
])
|
||||||
|
}
|
||||||
|
|
||||||
export async function post (url, body) {
|
export async function post (url, body) {
|
||||||
return (await fetch(url, {
|
return (await fetchWithTimeout(url, {
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
headers: {
|
headers: {
|
||||||
'Accept': 'application/json',
|
'Accept': 'application/json',
|
||||||
|
@ -18,7 +29,7 @@ export function paramsString (paramsObject) {
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function get (url, headers = {}) {
|
export async function get (url, headers = {}) {
|
||||||
return (await fetch(url, {
|
return (await fetchWithTimeout(url, {
|
||||||
method: 'GET',
|
method: 'GET',
|
||||||
headers: Object.assign(headers, {
|
headers: Object.assign(headers, {
|
||||||
'Accept': 'application/json'
|
'Accept': 'application/json'
|
||||||
|
|
Loading…
Reference in New Issue