web-dev-qa-db-fra.com

comment passer la fonction de suspension comme paramètre à une autre fonction? Kotlin Coroutines

Je veux envoyer la fonction de suspension en tant que paramètre, mais cela montre que "Modifier" suspendre "n'est pas applicable au" paramètre de valeur ". comment faire?

fun MyModel.onBG(suspend bar: () -> Unit) {
  launch {
    withContext(Dispatchers.IO) {
        bar()
    }

  }
}
9

Le modificateur suspend de Lambda doit être placé après le caractère deux-points, pas devant. Exemple:

fun MyModel.onBG(bar: suspend () -> Unit) {
  launch {
    withContext(Dispatchers.IO) {
      bar()
    }
  }
}
19