Задать вопрос

Как получить status code из запроса fetch в блоке catch?

Всем привет, возникла проблема, есть вот такая вот функция
async checkConnection() {
            return new Promise(async () => {
                this.changeErrorConnection(false)
                try {
                    const response = await fetch(`${this.webUrl}/checkConnection/`);
                    const responseJson = await response.json()

                    if(responseJson?.Content === 'OK') {
                        this.hideAvailabilityMessage();
                        this.changeVisibleScan(true)
                    }
                    this.changeVisibleLoader(false)
                } catch (e) {
                    this.changeVisibleLoader(false)
                    if(e.message === "Load failed") {
                        this.changeErrorConnection(true)
                    }

                    if(e.message === 'Failed to fetch') {
                        this.showAvailabilityMessage();
                        this.changeVisibleScan(false)
                        return setTimeout(() => {
                            this.checkConnection()
                        }, 3000)
                    }
                }
            })
        }


Делаю запрос на сервер и он падает в ошибку и я хочу понять ,что там произошло, как получить статус кода?

Если выводить response.statusCode, то он даже до него не доходит, потому что его отлавливает catch и вот как это можно обойти? как из error вытянуть statusCode?
  • Вопрос задан
  • 460 просмотров
Подписаться 1 Простой 3 комментария
Решения вопроса 1
Dasihub
@Dasihub
Делаю запрос на сервер и он падает в ошибку и я хочу понять ,что там произошло, как получить статус кода?


const response = await fetch(`${this.webUrl}/checkConnection/`);
console.log(response.status, 'status') //Вот так получают статус
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы