Как сетевые ошибки обрабатываются в Ax ios против Fetch? - PullRequest
0 голосов
/ 16 апреля 2020

Я только что закончил читать статью о Fetch vs Axios здесь :

Автор отмечает, что « Ax ios выдает сетевые ошибки, а fetch - не. При работе с fetch вы всегда должны проверять свойство response.ok ”, а Ax ios не нужно if (!response.ok) throw Error(response.statusText)

Я не совсем понимаю, почему и как обрабатываются сетевые ошибки Ax ios и правильно ли, что для запроса Ax ios не требуется if(!response.statusText !== 'OK') throw new Error(....)?

Также вот моя просьба топора ios. Скажите, по крайней мере, ее хороший стандарт?

 const fetchData = async (url) => {
        setFetchError(false);
        try {
            const response = await axios.get('/api/movies');
            return response.data;
        } catch (err) {
            setFetchError(true);
        }
    };

1 Ответ

1 голос
/ 16 апреля 2020

Я не совсем понимаю, почему и как сетевые ошибки обрабатываются в Ax ios, и верно ли, что для запроса Ax ios не требуется if (! Response.statusText! == 'OK ') выбросить новую ошибку (....)?

Правильно, что Ax ios не требует проверки, если статус ответа не в порядке (код состояния 2XX).

IMHO Ax ios использует концепцию кода состояния сети для выдачи ошибок, таких как ответы со статусом 4XX и 5XX. (Вы можете проверить больше ответа о статусе HTTP здесь ). Вы увидите, что MDN разделяет код статуса HTTP на 4 категории: информация, успех, перенаправление и ошибка.

Как программист, я предпочитаю использовать Ax ios чем Fetch только потому, что он обрабатывает сетевые ошибки.

...