我是协程新手,并且遇到以下问题。
我有一个文件,该文件被分成几部分并转换为mMessage对象,因此我有一个List。
我要按顺序向服务器发送带有Volley请求的每个项目。我想发送1号,onSuccess发送2号,onSuccess发送3号,等等。如果失败了,我必须再次发送以继续。
我的问题是,有没有办法用Kotlin Coroutines做到这一点,是否有任何特定的功能可以创建顺序作业或其他功能??
谢谢
答案 0 :(得分:0)
默认情况下,所有挂起函数均按顺序运行,而不会阻塞主线程。 您可以像下面这样编写代码,并以此为基础并添加异常处理
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)
}
}