通过兰巴舞的高表达将任何乐趣转化为悬挂乐趣

时间:2019-05-15 00:11:18

标签: android kotlin functional-programming

我正在寻找一种发送Any函数作为参数并获取挂起函数的方法 这是可能的功能以及如何解决此问题的一个示例: 可能的功能

fun getSomething(): List<SomethingObject>

方法不正确

suspend fun AnyClass.awaitAll(): List<SomethingObject> = withContext(Dispatchers.IO) { getSomething() }

但是我真正想要的是这样的:

suspend fun <T : Any?> safeQuery(query: () -> Unit): () -> Unit {
     return withContext(Dispatchers.IO) { query }
}

1 个答案:

答案 0 :(得分:0)

Soo ...类似的东西

suspend fun <T : Any?> safeQuery(query: (T) -> Unit): Unit {
     return withContext(Dispatchers.IO) { query }
}

suspend fun <T : Any?> safeQuery(query: () -> T): T {
     return withContext(Dispatchers.IO) { query }
}

这能回答您的问题吗?