Github Commits
Здравейте някои може ли да ми каже как да подкарам catch-a да ми работи по зададеното условие,имам функцията която съм имплементирал,но незнам как да я сложа в catcha какъв аргумент да дам на функцията.
https://pastebin.com/vB6JjD1u
Условие:
https://softuni.bg/trainings/resources/officedocument/51329/lab-js-applications-june-2020/2840
Ако не се лъжа може да направиш следното:
функция:
function handleError(e) {
if (!e.ok) {
throw new Error(`${e.status} - ${e.statusText}`); или alert(`${e.status} - ${e.statusText}`);
}
return e;
}
и после можеш да хванеш грешката в
.then(handleError)
или
.catch(handleError)
а мисля че може и така:
.catch(error => console.log(error.message); или alert(error.message);
пробвай с грешен url или с грешни променливи които влизат в url-a или вмъкни един спейс някъде в url-a
Не работи,пробвах и с двата варианта
при мен работи и ми изкарва грешка 400 на venuemaster когато фечвам айдитата
ето увери се сам:
и парче от кода:
function handleError(e) {
if (!e.ok) {
alert(`${e.status} - ${e.statusText}`);
}
return e;
}
function serializeData(x) {
return x.json();
}
function fetchRequest(kinveyModule, endpoint, headers) {
const url = `${baseUrl}/${kinveyModule}/${appKey}/${endpoint}`;
return fetch(url, headers)
.then(handleError)
.then(serializeData);
}
export async function get(kinveyModule, endpoint) {
const headers = makeHeaders("GET");
return fetchRequest(kinveyModule, endpoint, headers);
}
export async function post(kinveyModule, endpoint, data) {
const headers = makeHeaders("POST", data);
return fetchRequest(kinveyModule, endpoint, headers);
}
Просто трябва да подадеш твоята функция catchError като референция по този начин:
а не както го беше направил:
Твоята функция catchError e callback параметър на метода .catch(callback).
благодаря