【发布时间】:2022-01-03 12:20:12
【问题描述】:
我想知道如何在第一次重新加载页面时获取 api,然后每小时再次调用一次 api 来更新我的 UI,因为默认情况下该 api 每小时更新一次
这是我的代码
const [news, setNews] = useState([])
useEffect(() => {
setInterval(() => {
(async () => {
tryÏ {
const res = await fetch(`https://newsapi.org/v2/top-headlines?country=""""&apiKey=""""""""`)
const data = await res.json()
setNews(data)
console.log("yes")
} catch (error) {
console.log(error)
}
})()
}, 36000000);
}, [])
使用该代码,我无法在第一次页面重新加载时获得结果,仅在一个小时后...
【问题讨论】:
-
第一次重新加载页面时无法获得结果您需要先在 setInterval 之外调用该函数,然后在 setInterval 中调用它。
标签: javascript reactjs settimeout setinterval