在React渲染之前等待多个异步调用完成

罗洛德克斯

我有一个组件,它依赖于呈现内容之前要异步检索的数据。如果数据尚不可用,则render函数将返回一个Loader组件:

    if (this.state.loading) {
        return <Loader />;
    }

调用返回数据后,加载状态设置为false:

componentDidMount() {

        ExternalComponent.fetchData().then(response => {
            this.setState({
                loading: false,
                data: response
            });
        });
}

这可以正常工作,但是如果我想并行添加另一个异步获取调用怎么办?在将“加载”状态设置为false之前,我该如何正确地等待两者完成?

博兹多斯

使用Promise.all

componentDidMount() {
  const fetchData1 = ExternalComponent.fetchData()
  const fetchData2 = AnotherExternalComponent.fetchData()

  Promise.all([ fetchData1, fetchData2 ]).then((responses) => {
      this.setState({
          loading: false,
          data: responses[0]
      });
  });
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

等待多个异步调用完成?

来自分类Dev

提交表单之前,请等待异步调用完成

来自分类Dev

量角器 - 在执行 expect 之前等待异步调用完成

来自分类Dev

Javascript - 在从函数返回之前等待异步调用完成,不使用回调

来自分类Dev

在运行视图控制器 (Swift) 的“覆盖”功能之前等待异步调用完成

来自分类Dev

如何异步调用方法并等待API调用完成

来自分类Javascript

等待多个异步调用完成后再继续

来自分类Dev

Node.js-等待多个异步调用完成,然后继续执行代码

来自分类Dev

等待多个(异步)API 调用完成

来自分类Javascript

渲染方法后componentWillMount中的异步调用完成

来自分类Java

等待多个异步调用在RxJava中完成

来自分类Dev

如何等待所有异步调用完成

来自分类Dev

目标C-如何等待异步调用完成

来自分类Dev

Xamarin表单页面在异步调用完成之前不会加载

来自分类Dev

等待异步函数调用完成

来自分类Dev

Swift-在调用完成处理程序swift之前等待异步for-in循环完成

来自分类Dev

异步调用完成后如何访问Set

来自分类Dev

无法等待多个AJAX调用完成

来自分类Dev

如何在嵌套的foreach中继续操作之前确保所有异步调用完成

来自分类Dev

React-异步api调用Promise.all等待调用完成

来自分类Dev

异步调用不等待完成,然后立即转到

来自分类Dev

在运行下一个代码之前,如何等待异步JSZip .forEach()调用完成?

来自分类Dev

Qt异步调用:如何在异步调用完成其工作后运行某些内容

来自分类Dev

在单元测试之前,如何等待异步调用在组件的安装回调中完成?

来自分类Dev

Nodejs异步调用排水回调完成之前

来自分类Dev

循环中的所有异步调用完成后,如何调用函数?

来自分类Dev

仅当来自服务的异步调用完成时,如何调用函数?

来自分类Dev

如何进行多个异步调用,然后在所有调用完成后执行一个函数?

来自分类Dev

如何等待来自forEach循环的多个异步调用?

Related 相关文章

  1. 1

    等待多个异步调用完成?

  2. 2

    提交表单之前,请等待异步调用完成

  3. 3

    量角器 - 在执行 expect 之前等待异步调用完成

  4. 4

    Javascript - 在从函数返回之前等待异步调用完成,不使用回调

  5. 5

    在运行视图控制器 (Swift) 的“覆盖”功能之前等待异步调用完成

  6. 6

    如何异步调用方法并等待API调用完成

  7. 7

    等待多个异步调用完成后再继续

  8. 8

    Node.js-等待多个异步调用完成,然后继续执行代码

  9. 9

    等待多个(异步)API 调用完成

  10. 10

    渲染方法后componentWillMount中的异步调用完成

  11. 11

    等待多个异步调用在RxJava中完成

  12. 12

    如何等待所有异步调用完成

  13. 13

    目标C-如何等待异步调用完成

  14. 14

    Xamarin表单页面在异步调用完成之前不会加载

  15. 15

    等待异步函数调用完成

  16. 16

    Swift-在调用完成处理程序swift之前等待异步for-in循环完成

  17. 17

    异步调用完成后如何访问Set

  18. 18

    无法等待多个AJAX调用完成

  19. 19

    如何在嵌套的foreach中继续操作之前确保所有异步调用完成

  20. 20

    React-异步api调用Promise.all等待调用完成

  21. 21

    异步调用不等待完成,然后立即转到

  22. 22

    在运行下一个代码之前,如何等待异步JSZip .forEach()调用完成?

  23. 23

    Qt异步调用:如何在异步调用完成其工作后运行某些内容

  24. 24

    在单元测试之前,如何等待异步调用在组件的安装回调中完成?

  25. 25

    Nodejs异步调用排水回调完成之前

  26. 26

    循环中的所有异步调用完成后,如何调用函数?

  27. 27

    仅当来自服务的异步调用完成时,如何调用函数?

  28. 28

    如何进行多个异步调用,然后在所有调用完成后执行一个函数?

  29. 29

    如何等待来自forEach循环的多个异步调用?

热门标签

归档