首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用useFetch的多个请求

使用useFetch的多个请求
EN

Stack Overflow用户
提问于 2021-12-13 10:42:09
回答 1查看 226关注 0票数 0

我同时发送两个请求,使用useFetch,在Safari上,响应是混合的

代码语言:javascript
复制
const [entries,setEntries] = useState([]);
const [categories,setCategories] = useState([]);

const { get, response} = useFetch('https://api.publicapis.org');


const getData = useCallback( async()=>{
    const entriesRes = await get('/entries?category=animals&https=true')
    if(response.ok)
        setEntries(entriesRes.entries)
},[])

const getCategories = useCallback( async()=>{
    const categoriesRes = await get('/categories')
    if(response.ok)
        setCategories(categoriesRes)
},[])


useEffect(()=>{
    getData();
    getCategories();
},[])

如果getCategories首先返回,则响应转到entriesRes instand of categoriesRes,这只发生在safari上。

EN

回答 1

Stack Overflow用户

发布于 2022-12-02 08:37:10

尝试重命名useFetch结果:

代码语言:javascript
复制
const [entries,setEntries] = useState([]);
const [categories,setCategories] = useState([]);

const categoryFetch = useFetch('https://api.publicapis.org');
const dataFetch = useFetch('https://api.publicapis.org');



const getData = useCallback( async()=>{
    const entriesRes = await dataFetch.get('/entries?category=animals&https=true')
    if(response.ok)
        setEntries(entriesRes.entries)
},[])

const getCategories = useCallback( async()=>{
    const categoriesRes = await categoryFetch.get('/categories')
    if(response.ok)
        setCategories(categoriesRes)
},[])


useEffect(()=>{
    getData();
    getCategories();
},[])
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70333345

复制
相关文章

相似问题

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