Add postData and deleteData functions.

Return promise.reject() on failure
This commit is contained in:
glax 2024-10-18 19:42:17 +02:00
parent ca091bac92
commit 9d8dadc634

View File

@ -28,6 +28,7 @@ export default function App(){
export function getData (uri: string) : Promise<object> { export function getData (uri: string) : Promise<object> {
return fetch(uri, return fetch(uri,
{ {
method: 'GET',
headers : { headers : {
'Content-Type': 'application/json', 'Content-Type': 'application/json',
'Accept': 'application/json' 'Accept': 'application/json'
@ -38,8 +39,43 @@ export function getData (uri: string) : Promise<object> {
return response.json(); return response.json();
}) })
.catch(function(err){ .catch(function(err){
console.error(err); console.error(`Error GETting Data ${uri}\n${err}`);
return null; return Promise.reject();
});
}
export function postData(uri: string, content: object) : Promise<object> {
return fetch(uri,
{
method: 'POST',
headers : {
'Content-Type': 'application/json',
'Accept': 'application/json'
},
body: JSON.stringify(content)
})
.then(function(response){
if(!response.ok) throw new Error("Could not fetch data");
return response.json();
})
.catch(function(err){
console.error(`Error POSTing Data ${uri}\n${err}`);
return Promise.reject();
});
}
export function deleteData(uri: string) {
fetch(uri,
{
method: 'DELETE',
headers : {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
})
.catch(function(err){
console.error(`Error DELETEing Data ${uri}\n${err}`);
return Promise.reject();
}); });
} }