在Axios vs Fetch中如何处理网络错误?

bwntbbo3  于 2023-08-04  发布在  iOS
关注(0)|答案(1)|浏览(130)

我刚阅读完一篇关于Fetch vs Axioshere的文章:
作者提出了一个观点:
“*Axios抛出网络错误,而fetch不会。使用fetch时,必须始终检查response.ok属性 *”
Axios不需要if (!response.ok) throw Error(response.statusText)
我不太明白为什么以及如何在Axios中处理网络错误,Axios请求不需要if(!response.statusText !== 'OK') throw new Error(....)是正确的吗?
这里也是我的axios要求,请你说它的好标准,至少?

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

字符串

s71maibg

s71maibg1#

我不太明白为什么以及如何在Axios中处理网络错误& Axios请求不需要if(!response.statusText!== 'OK')throw new Error(....)?
Axios不需要检查响应状态是否不正常(2XX状态代码)是正确的。
IMHO Axios利用网络状态码的概念来抛出错误,例如4XX和5XX状态的响应。(您可以查看更多HTTP状态响应here)您会看到MDN将HTTP状态代码分为4类:信息、成功、重定向和错误。
作为一名程序员,我更喜欢使用Axios而不是Fetch,只是因为它如何处理网络错误。

相关问题