我有一系列的尝试从vimeo API中抓取四个缩略图jpgs。我有一组视频ids
const vimeo = [
"325845565","325846054","325848270","325849439"
]我正在使用setState导入和使用数组
import vimeo;
const [data , setData ] = useState(vimeo)我有一个单独的状态来存储缩略图数据:
const [thumbNails, setThumbNails] = useState({
data : []
})我希望能够遍历useEffect钩子中的每个vimeo Id。我使用的axios类似于:
useEffect(() => {
const fetchData = async () => {
data.map(videoID => {
const result = await axios(`http://vimeo.com/api/v2/video/${data[0]}.json`);
setThumbNails({
data : result
})
}
})
fetchData()
},[])但是使用这段代码时,我得到了以下错误:
分析错误:无法在异步函数外部使用关键字'await‘
有什么想法吗?谢谢。
发布于 2019-05-22 22:21:24
这就是this answer和what I found on google
您需要先使用Promise.all,然后使用返回数组的setState
const fetchData = async () => {
let fetchedResult = await Promise.all(data.map(videoID =>
axios(`http://vimeo.com/api/v2/video/${data[0]}.json`)
))
fetchedResult.map(data => setThumbNails({
data : result
}))
}https://stackoverflow.com/questions/56258993
复制相似问题