fix: fetch 后检查 res.ok 并校验数组类型,防止错误响应导致崩溃
- panic/page.tsx: suggestions fetch 检查 res.ok + Array.isArray - profile/page.tsx: history/favorites fetch 检查 res.ok + Array.isArray
This commit is contained in:
@@ -93,15 +93,15 @@ export default function ProfilePage() {
|
||||
|
||||
setHistoryLoading(true);
|
||||
fetch(`/api/user/history?userId=${userId}`)
|
||||
.then((r) => r.json())
|
||||
.then(setHistory)
|
||||
.then((r) => { if (!r.ok) throw new Error(); return r.json(); })
|
||||
.then((data) => setHistory(Array.isArray(data) ? data : []))
|
||||
.catch(() => {})
|
||||
.finally(() => setHistoryLoading(false));
|
||||
|
||||
setFavLoading(true);
|
||||
fetch(`/api/user/favorite?userId=${userId}`)
|
||||
.then((r) => r.json())
|
||||
.then(setFavorites)
|
||||
.then((r) => { if (!r.ok) throw new Error(); return r.json(); })
|
||||
.then((data) => setFavorites(Array.isArray(data) ? data : []))
|
||||
.catch(() => {})
|
||||
.finally(() => setFavLoading(false));
|
||||
}, [userId]);
|
||||
|
||||
Reference in New Issue
Block a user