Я хотел бы определить с помощью вызова API, какие репозитории GitHub имеют определенный файл в своем корневом каталоге, например ReadMe.md
.Таким образом, моим решением был fetch
вызов файла:
const githubApiBase = "https://api.github.com"
const githubUser = ...
const githubRepository = ...
const filename = "ReadMe.md"
const readmeFile = `${githubApiBase}/repos/${githubUser}/${githubRepository }/contents/${filename}`
fetch(readmeFile)
.then(response => {
if(response.status == 200) {
return true;
} else {
return false;
}
})
Теперь это действительно возвращает true
, когда файл существует, и false
в противном случае.Тем не менее, помимо возврата false
, это также отображает ошибку в моей консоли.Я хотел бы устранить эту ошибку, поскольку я не считаю это проблемой для моего приложения.
Я знаю, что могу устранить ошибки 404 в моих инструментах разработчика Chrome, но я хочу убедиться, что другие пользователи нене поймите их и убедитесь, что они вообще не появляются.
Я вижу два возможных решения, оба из которых я не знаю, возможны ли они.Первый - проверить наличие файла другим способом, который не приводит к ошибке 404, но все равно выдает false
, когда мой файл не существует.Второй способ - устранить ошибку, но у меня сложилось впечатление, что это невозможно: браузеры, похоже, делают это независимо от любого запроса GET 404.
Минимальный рабочий пример для проверки поведения:
fetch("http://httpstat.us/404")
.then(response => {
if(response.status == 200) {
console.log("Found!")
} else if(response.status == 404) {
console.log("File does not exist")
} else {
console.log("Other error")
}
})
Я приветствую любые предложения, спасибо!