Jason Ankers
02/05/2021, 4:43 PMlaunch {
val result = getSomething().apply {
doSomethingSuspending()
}
// code at this point never runs
}
Could anyone explain why this happens?wasyl
02/05/2021, 4:44 PMdoSomethingSuspending()
never completesGuillermo Alcantara
02/05/2021, 4:44 PMlouiscad
02/05/2021, 4:45 PMdoSomethingSuspending()
is a fancy version of awaitCancellation()
getSomething()
is that one.Jason Ankers
02/05/2021, 4:47 PMwasyl
02/05/2021, 4:48 PMlouiscad
02/05/2021, 4:49 PMdoSomethingSuspending()
@Jason Ankers
It's kinda cheating! 😛Jason Ankers
02/05/2021, 4:49 PMlouiscad
02/05/2021, 4:50 PMJason Ankers
02/05/2021, 4:51 PMlouiscad
02/05/2021, 4:52 PM--no-build-cache
option and .Jason Ankers
02/05/2021, 4:53 PMlaunch {
val result = getSomething()
result.doSomethingSuspending()
// do stuff
}
Which I changed to this:
launch {
val result = getSomething().apply {
doSomethingSuspending()
}
// do stuff
}
but after making the change, result
never gets assigned, and any code after it never runslouiscad
02/05/2021, 4:55 PMJason Ankers
02/05/2021, 4:55 PMlouiscad
02/05/2021, 5:02 PMJason Ankers
02/05/2021, 5:05 PMlouiscad
02/05/2021, 5:06 PMJason Ankers
02/05/2021, 5:11 PMlaunch {
val result = getSomething()
result.doSomethingSuspending()
// code was running here fine
}
louiscad
02/05/2021, 5:16 PM