Превращение любого веселья в приостановленное веселье с высоким выражением ламба - PullRequest
0 голосов
/ 15 мая 2019

Я ищу способ отправить любую функцию в качестве параметра и вернуть приостановленную функцию это один пример возможной функции и как я решаю это: Возможная функция

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 Ответ

1 голос
/ 15 мая 2019

Су ... что-то вроде:

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 }
}

Это отвечает на ваш вопрос?

...