首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Reactjs promise.all

Reactjs promise.all
EN

Stack Overflow用户
提问于 2019-04-02 18:58:45
回答 2查看 1.6K关注 0票数 0

在“获取贷款”之前,我很难让“studentDataPromise”来解决。我需要获取学生的数据,以便能够获取loans....any的想法,我的错误是什么?

目前

  1. 调用toggleIsReady()并将其设置为true
  2. fetchLoans()被调用,但是由于它依赖于学生数据,所以它不取
  3. fetchStudentData()被调用并正确获取
  4. fetchClasses()被调用并正确获取
代码语言:javascript
复制
    let studentDataPromise = null;
    let fetchClassesPromise = null;
    let fetchLoansPromise = null;

    useEffect(() => {
        studentDataPromise = fetchStudentData();
    }, []);

    useEffect(() => {
        fetchClassesPromise = fetchClasses();
    }, []);

    useEffect(() => {
        fetchLoansPromise = fetchLoans();
    }, []);

    /**
     * resolves promises and toggles isReady
     * action to true
     */


    Promise.all([studentDataPromise, fetchClassesPromise])
        .then(() => fetchLoansPromise)
        .then(() => toggleIsReady())
        .catch(error => {
            throw new Error(error);
        });
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-04-12 19:09:20

https://stackoverflow.com/a/55502465/11119825

看这个帖子,这是我现在解决的。感谢大家!

票数 1
EN

Stack Overflow用户

发布于 2019-04-02 19:12:20

如果我理解正确的话,你应该这样做:

代码语言:javascript
复制
    const [student, setStudent] = useState({});
    const [classes, setClasses] = useState([]);
    const [loans, setLoans] = useState([]);
    useEffect(async () => {
        const studentData = await fetchStudentData();
        const fetchClasses = await fetchClasses();
        const fetchLoans = await fetchLoans();
        await toggleIsReady();
    }, []);
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55481796

复制
相关文章

相似问题

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