который выкидывает fetch, что делаю неверно?
try {
const resp = await fetch(`ссылка`)
.then(resp => {
if (!resp.ok || resp.status > 400) {
alert("city is not found")
}
return resp.json();
})
.then(function (data) {
console.log(data);
ul.appendChild(clone)
})
.catch((e) => function () {
elem = document.getElementById(inCard);
elem.parentNode.removeChild(elem);
localStorage.removeItem(inCard)
alert("May be you not have internet ")
}
)
}catch (e) {
console.log(e + "no inet")
}
Ты ловишь ошибки в .catch, await ожидает промис который возвращает .catch, а он будет fulfilled, а не rejected. try/catch здесь не имеет смысла.
Т.е. catch отловит ошибку если она будет в функции переданной в .catch, и тогда промис возвращённый .catch будет rejected. Ещё вот эта конструкция .catch((e) => function () { ... } ) Ничего не делает. Потому что стрелочная функция при выполнении возвращает функцию, которая в свою очередь не выполняется.
Обсуждают сегодня