首页 > 解决方案 > 使用 Coroutines kotlin 创建顺序请求

问题描述

我是 Coroutines 的新手,我有以下问题。

我有一个文件,它被分成几部分并转换为 mMessage 对象,所以我有一个列表。

我想用 Volley 请求顺序发送服务器中的每个项目。Thuw 我想发送第一个,onSuccess 发送第二个,onSuccess 发送第三个等等....!如果一个失败,我必须再次发送它以继续。

我的问题是,有没有办法用 Kotlin Coroutines 做到这一点,是否有任何特定的功能可以创建顺序作业或其他东西..?

谢谢

标签: androidkotlin-coroutines

解决方案


默认情况下,所有挂起函数按顺序运行,不会阻塞主线程。您可以编写如下代码,在此基础上构建并添加异常处理

suspend fun send(mMessage: Message) { // send to server }

val msgs = listOf<Messages>(...)

// send msgs one by one in asynchronous fashion
suspend fun sendAll() {
  for(msg in msgs) {
    send(msg)
  }
}


推荐阅读