Skip to content

Instantly share code, notes, and snippets.

@KhomDrake
Last active March 21, 2022 00:17
Show Gist options
  • Save KhomDrake/783104137c083eed5b5029763f713117 to your computer and use it in GitHub Desktop.
Save KhomDrake/783104137c083eed5b5029763f713117 to your computer and use it in GitHub Desktop.
suspend fun setupMovies(completion: Continuation<Any?>) {
val continuation = completion as? SetupMoviesStateMachine
?: SetupMoviesStateMachine(completion)
when(continuation.label) {
0 -> {
makeLogin("someValue", "someValue", continuation)
continuation.label = 1
}
1 -> {
continuation.token = continuation.result as Token
loadMovies(continuation.token, continuation)
continuation.label = 2
}
2 -> {
continuation.movies = continuation.result as as List<Movie>
printMovies(continuation.movies as List<Movie>, continuation)
continuation.label = 3
}
3 -> {
continuation.resume(Unit)
}
else -> throw IllegalStateException(...)
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment