android - 延迟协程中的挂起函数不起作用
问题描述
我有以下协程调用挂起函数,之后添加延迟并将结果显示给用户
CoroutineScope(Dispatchers.Main).launch {
//some initial setup
val result = service.getResult() //suspend function
//add a delay of 1s
delay(1000)
when(result) {
ERROR -> {
Toast.makeText(activity, message, Toast.LENGTH_LONG).show()
}
//other conditions
}
}
当我添加延迟时,它下面的代码永远不会运行。作为一个挂起函数,延迟应该起作用,然后必须执行其余代码。不知道出了什么问题。有什么线索吗?
解决方案
推荐阅读
- elasticsearch - 通过电子邮件查询时,Elasticsearch 查询不返回结果
- jenkins - 我如何告诉詹金斯不要在失败时停止,或者在退出状态上设置条件?
- php - Codeigniter : 类似于使用空帖子数据的查询
- ruby - 如何修复 Ruby 中的 NoMethodError?
- azure - 通过 S2S 连接连接到 Azure 时,本地 VM 是否可以使用 Azure DNS?
- javascript - Not defined error when attempting to dynamically load scripts with React.js
- apache-spark - 如何在 Spark 结构化流中将两个流 df 写入 MySQL 中的两个不同表中?
- javascript - 添加jquery后HTML提交按钮不起作用
- excel - Excel - “运行时错误'1004'方法'SaveAs'的对象'_'工作簿'失败”Macbook
- sockets - 套接字读取通常在缓冲区不为空时返回 -1