如何等待所有异步完成?

james04

我有一个我想做的请求清单,我想等待所有请求完成才能继续。我正在使用带有重复和异步的Kotlin协程,如下所示。

viewModelScope.launch(Dispatchers.IO) {
            repeat(serverAccountList.size) { 
                async { 
                    createHelloRequest(it)  // suspend function
                }
            }



            withContext(Dispatchers.Main) {
                _isLoading.value = false
            }
        }

我如何加入他们,以便我可以在Main Dispatcher中继续我的代码?

马克·托波尼克(Marko Topolnik)

不要Dispatchers.IO用来调用可挂起(非阻塞)函数。您所有的代码都可以保留在Main调度程序上。此外,使用coroutineScopelaunch尽可能多的子任务,因为你需要和科特林将确保所有的都完成后再coroutineScope调用完成。

全部放在一起,您的代码应如下所示:

viewModelScope.launch {
    _isLoading.value = true
    coroutineScope {
        repeat(serverAccountList.size) {
            launch { createHelloRequest(it) }
        }
    }
    _isLoading.value = false
}

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类常见问题

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

来自分类Dev

你如何等待所有异步调用在Java中完成?

来自分类Dev

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

来自分类Dev

如何使Parallel等待所有异步任务完成?

来自分类Dev

如何等待异步方法中的等待完成所有执行?

来自分类Dev

如何等待所有NSOperations完成?

来自分类Dev

NodeJS等待所有异步命令完成

来自分类Dev

如何进行循环等待所有异步功能完成。异步函数里面有多个异步函数

来自分类Dev

等待完成异步 lambda 表达式中的所有异步方法

来自分类Dev

如何等待异步完成 - NodeJs

来自分类Dev

如何等待所有诺言完成然后采取行动?

来自分类Dev

如何等待所有请求完成?

来自分类Dev

如何等待循环中的所有踏板完成运行

来自分类Dev

如何等待所有动画在jQuery中完成?

来自分类Dev

如何等待所有 jquery 加载完成

来自分类Dev

具有异步lambda的Parallel.ForEach等待所有迭代完成

来自分类Dev

AngularJS等待foreach中的所有异步调用完成

来自分类Dev

如何获取异步代码以等待所有任务完成?

来自分类Dev

等待带有异常处理的所有任务的完成

来自分类Dev

Tornado - 如何从 on_connection_close 停止所有异步“等待”

来自分类Dev

如何等待NSTask在异步块中完成

来自分类Dev

如何等待异步查询在for循环中完成?

来自分类Dev

如何等待异步 AudioTrack.write 完成?

来自分类Dev

Javascript异步如何等待不同数量的uploadTasks全部完成?

来自分类Dev

ngOnInit 中所有异步操作的角度等待栏

来自分类Dev

如何知道页面上的所有异步调用何时完成(Parse Cloud函数)?

来自分类Dev

我如何知道我的代码何时在Dart中完成区域中的所有异步工作?

来自分类Dev

如何确定所有异步readFile()调用完成之后

来自分类Dev

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

Related 相关文章

  1. 1

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

  2. 2

    你如何等待所有异步调用在Java中完成?

  3. 3

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

  4. 4

    如何使Parallel等待所有异步任务完成?

  5. 5

    如何等待异步方法中的等待完成所有执行?

  6. 6

    如何等待所有NSOperations完成?

  7. 7

    NodeJS等待所有异步命令完成

  8. 8

    如何进行循环等待所有异步功能完成。异步函数里面有多个异步函数

  9. 9

    等待完成异步 lambda 表达式中的所有异步方法

  10. 10

    如何等待异步完成 - NodeJs

  11. 11

    如何等待所有诺言完成然后采取行动?

  12. 12

    如何等待所有请求完成?

  13. 13

    如何等待循环中的所有踏板完成运行

  14. 14

    如何等待所有动画在jQuery中完成?

  15. 15

    如何等待所有 jquery 加载完成

  16. 16

    具有异步lambda的Parallel.ForEach等待所有迭代完成

  17. 17

    AngularJS等待foreach中的所有异步调用完成

  18. 18

    如何获取异步代码以等待所有任务完成?

  19. 19

    等待带有异常处理的所有任务的完成

  20. 20

    Tornado - 如何从 on_connection_close 停止所有异步“等待”

  21. 21

    如何等待NSTask在异步块中完成

  22. 22

    如何等待异步查询在for循环中完成?

  23. 23

    如何等待异步 AudioTrack.write 完成?

  24. 24

    Javascript异步如何等待不同数量的uploadTasks全部完成?

  25. 25

    ngOnInit 中所有异步操作的角度等待栏

  26. 26

    如何知道页面上的所有异步调用何时完成(Parse Cloud函数)?

  27. 27

    我如何知道我的代码何时在Dart中完成区域中的所有异步工作?

  28. 28

    如何确定所有异步readFile()调用完成之后

  29. 29

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

热门标签

归档