kotlin - 在 Iterable.sortedBy 中执行挂起函数
问题描述
我有这个代码:
interface Film {
suspend fun total(): Int
}
suspend fun getFilms() : List<Film> {
return films.sortedBy { it.total() }
}
但我得到一个错误,因为我Film::total
在非暂停函数(sortedBy
选择器)中调用方法。我该如何解决这个问题?
解决方案
suspend fun getFilms(): List<Film> {
return films
.map { it to it.total() }
.sortedBy { it.second }
.map { it.first }
}
推荐阅读
- sql - 如何选择一组记录是 ID 存在于其中一个
- javascript - 使用 javascript 正则表达式获取第一个 url 段
- r - 将带有小时和分钟的文本转换为分钟
- swift - forEach 在 nslaoyutconstraints 中的使用
- c# - 如何修复我的 C# 应用程序连接到外部进程的挂断
- sql - 在 Oracle SQL 中将多行分组为一行
- arrays - How to handle array state filter clashes
- java - 如何为 Calcite SQL 实现 Apache Beam UDF?
- ubuntu - 如何在 GitHub Actions 中使用 Hunspell
- java - 计算长度、面积和温度的两个spinner的乘法问题