reactjs - 处理 useEffect 中的 fetch api 错误并设置错误
问题描述
我有useEffect
一个从 api 获取数据的组件。
我想处理两种类型的错误-
- Api 不可用(说服务器已关闭)
- 发出的请求无效(对错误端点的请求)
并且,setError
在发生任何这些错误时调用。
我就是这样解决的-
const [error, setError] = useState(null)
useEffect(() => {
const fetchModels = async () => {
let res
try {
res = await fetch('http://localhost:8000/api/models/')
}
catch (e) {
if (e instanceof (TypeError)) {
setError('Could not fetch data. Please try again')
return
}
}
if (!res.ok) {
setError('Could not fetch data. Please try again')
return
}
const data = await res.json()
setModels(data)
setError(null)
}
fetchModels()
}, [])
尽管这行得通,但我真的相信一定有更好的方法来完成我想要完成的事情。
解决方案
推荐阅读
- powerbi - How to change the line value according to the level of hierarchy in my chart
- java - Springboot Entity manager cannot reliably process 'persist' call
- tensorflow - How to avoid training loss to increase dramatically in first 100 steps of object detection with accuracy of -1?
- php - laravel eager load through model
- r - 在 R 中按日期间隔汇总结果
- javascript - 使用正则表达式查找字符串中的可变字母组
- javascript - 在javascript中将UTC日期转换为日期/时间格式
- python - A difficult construction of a 3-dimensional matrix in numpy from a 2-d one
- php - phpseclib get 正在更改我的文件名并放入特殊字符
- excel - VBA函数下移公式无法正常工作