Add doBlocking()
utility method for running coroutines.
#4440
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is a useful utility method used in places where you want to run a coroutine for its side effect.
E.g.,
With
runBlocking()
, if the last line of the coroutine block being run doesn't evaluate toUnit
, e.g.:the compiler will complain about being unable to infer the type variable T of the block. Inserting a "return value" of
Unit
at the end is necessary to tell the compiler the block's return type.Similarly, if you do
without the explicit
Unit
"return value" at the end, if the last line evaluates to a non-unit type, you'll get a type mismatch error, or the compiler will infermyTest()
's return type to be non-Unit.