Мне нужно запросить некоторые данные с помощью вызова fetch()
, но я никогда не уверен, будет ли запрос успешным, с точки зрения HTTP: когда сервер работает, URL может (законно) попасть на несуществующую страницу.
Я хотел бы аккуратно разобраться с делом, и мой текущий подход заключается в том, чтобы вызвать исключение:
// the URL is just an example, I did not have anything CORS-enabled (and unavailable) handy, thus the no-cors mode
fetch(`https://cdnjs.com/libraries/sdfsdfsfsdfsdfsdfdf`, {
mode: 'no-cors'
})
.then(r => {
if (!r.ok) {
console.log("page does not exist")
throw Error();
}
// if the page exists, it will return JSON data
return r.json();
})
.then(r => {
console.log(r)
// things with the JSON happen here
})
.catch(err => null)
Я надеялся просто return
после Page does not exist
, но (пустой) возврат будет затем пойман следующим then()
.
Это правильный способ выхода из fetch()
, когда запрошенный URL недоступен?