30 lines
779 B
JavaScript
30 lines
779 B
JavaScript
async function fetchResource(id) {
|
|
const response = await fetch(ROUTES.GET_RESOURCE(id));
|
|
if (!response.ok) {
|
|
const json = await response.json();
|
|
|
|
throw new Error(`${json.error}: ${json.message}`);
|
|
}
|
|
|
|
return (await response.json()).resource;
|
|
}
|
|
|
|
async function fetchStatus() {
|
|
const response = await fetch(ROUTES.STATUS);
|
|
|
|
if (!response.ok) {
|
|
const json = await response.json();
|
|
|
|
throw new Error(`${json.error}: ${json.message}`);
|
|
}
|
|
|
|
const json = await response.json();
|
|
if (json.status !== 'ok') {
|
|
throw new Error('API status is not OK. Something went wrong.');
|
|
}
|
|
|
|
return json;
|
|
}
|
|
|
|
// on error, provide alert to the user
|
|
window.addEventListener('unhandledrejection', event => alert(event.reason)); |