android - 使用 Coroutines kotlin 创建顺序请求
问题描述
我是 Coroutines 的新手,我有以下问题。
我有一个文件,它被分成几部分并转换为 mMessage 对象,所以我有一个列表。
我想用 Volley 请求顺序发送服务器中的每个项目。Thuw 我想发送第一个,onSuccess 发送第二个,onSuccess 发送第三个等等....!如果一个失败,我必须再次发送它以继续。
我的问题是,有没有办法用 Kotlin 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)
}
}
推荐阅读
- typescript - VS Code 扩展不包括编译时的文件夹
- c++ - 在列表末尾插入元素的列表的 C++ STL 向量
- python - 循环打印变量值延迟一次迭代
- nlog - 当项目具有 nlog 依赖项时,不构建 Blazor 客户端应用程序
- javascript - 剑道网格数据项,我如何获取作为对象的项目
- ios - viewForHeaderInSection 不在表格视图中显示标签
- javascript - 我可以在 url 中发送类似于使用 AJAX 的表单中获取方法的信息吗?
- babeljs - React Boilerplate:未捕获的 RangeError:超出最大调用堆栈大小
- laravel - 生成从子域到主域的路由url
- reactjs - 有效地搜索/exist() Firestore 而不会耗尽免费配额