React启动时从API获取电影数据报错:(intermediate value)不可迭代
解决"intermediate value is not iterable"错误
错误根源是你对fetch的返回值使用了数组解构const [res] = await fetch(...)——fetch调用后返回的是单个Response对象,并非数组或可迭代类型,所以不能用数组解构语法,直接触发了迭代错误。
修正后的代码如下:
const fetchMovies = async () => { // 去掉数组解构,直接接收fetch返回的Response对象 const res = await fetch(`${API_URL}`); // 建议增加响应状态校验,排查请求失败场景 if (!res.ok) { throw new Error(`请求失败,状态码:${res.status}`); } const dat = await res.json(); console.log(dat); }; useEffect(() => { fetchMovies(); }, []);
如果之前搜索框的fetch函数能正常工作,大概率是你写这段代码时误加了数组解构的[]。加上响应状态判断后,还能提前发现请求失败的情况,方便调试。
内容的提问来源于stack exchange,提问作者Usama
相关产品推荐
相关产品推荐

