首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Vimeo API进行React useEffect和数组迭代

使用Vimeo API进行React useEffect和数组迭代
EN

Stack Overflow用户
提问于 2019-05-22 22:19:16
回答 1查看 310关注 0票数 1

我有一系列的尝试从vimeo API中抓取四个缩略图jpgs。我有一组视频ids

代码语言:javascript
复制
const vimeo = [
    "325845565","325846054","325848270","325849439"
]

我正在使用setState导入和使用数组

代码语言:javascript
复制
import vimeo;

const [data , setData ] = useState(vimeo)

我有一个单独的状态来存储缩略图数据:

代码语言:javascript
复制
const [thumbNails, setThumbNails] = useState({
    data : []
})

我希望能够遍历useEffect钩子中的每个vimeo Id。我使用的axios类似于:

代码语言:javascript
复制
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‘

有什么想法吗?谢谢。

EN

回答 1

Stack Overflow用户

发布于 2019-05-22 22:21:24

这就是this answerwhat I found on google

您需要先使用Promise.all,然后使用返回数组的setState

代码语言:javascript
复制
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
        }))
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56258993

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档