Если вы используете launch
, «фактическое значение» будет Unit
, как вы можете видеть из подписи
fun CoroutineScope.launch(
context: CoroutineContext = EmptyCoroutineContext,
start: CoroutineStart = CoroutineStart.DEFAULT,
block: suspend CoroutineScope.() -> Unit
): Job (source)
, поэтому вам даже не нужно запускать Это.
Если вы передаете лямбду на launch
, как в
launch { doSomethingUsefulOne() }
, это действительно
launch { doSomethingUsefulOne(); Unit }
и значение doSomethingUsefulOne()
выбрасывается.