An alert is shown to the user and errors are logged to the console. Also reformat the function code style.
33 lines
1.3 KiB
JavaScript
33 lines
1.3 KiB
JavaScript
async function makeAPIRequest(endpoint, body) {
|
|
return new Promise((resolve, reject) => {
|
|
const fetchOptions = {
|
|
method: "POST",
|
|
body: new URLSearchParams(body)
|
|
};
|
|
|
|
fetch("/api/v1/" + endpoint, fetchOptions).then(response => {
|
|
const responseCode = response.status;
|
|
console.log(responseCode);
|
|
if (responseCode >= 500) {
|
|
reject("Error " + responseCode + " when fetching " + endpoint);
|
|
alert("Une réponse invalide du serveur a été obtenue, veuillez réessayer ultérieurement.");
|
|
return;
|
|
}
|
|
|
|
response.json().then(jsonResponse => {
|
|
if (jsonResponse["error"] === 0) {
|
|
resolve(jsonResponse);
|
|
} else {
|
|
const message = jsonResponse["msg"];
|
|
alert("Erreur du serveur : " + message);
|
|
reject(endpoint + ": " + message);
|
|
}
|
|
});
|
|
}).catch((e) => {
|
|
console.error("Failed to fetch API", e);
|
|
alert("Une erreur est survenue lors de la connexion au serveur, veuillez vérifier votre connexion et / ou réessayer ultérieurement.");
|
|
reject(endpoint);
|
|
});
|
|
});
|
|
}
|