Skip to content

Instantly share code, notes, and snippets.

View KhomDrake's full-sized avatar

Vinicius Viana KhomDrake

View GitHub Profile
requestScope.async {
}
val value : Deferred<Int> = requestScope.async {
42
}
requestScope.launch {
val moviesComedy = loadMovies("Comedy")
val moviesAction = loadMovies("Action")
launch(Dispatchers.Main) {
showMoviesGenre(moviesComedy)
showMoviesGenre(moviesAction)
}
}
requestScope.launch(Dispatchers.Main) {
val moviesComedy = withContext(Dispatchers.IO) { loadMovies("Comedy") }
val moviesAction = withContext(Dispatchers.IO) { loadMovies("Action") }
showMoviesGenre(moviesComedy)
showMoviesGenre(moviesAction)
}
requestScope.launch(Dispatchers.Main) {
val moviesComedy = async(Dispatchers.IO) { loadMovies("Comedy") }.await()
val moviesAction = async(Dispatchers.IO) { loadMovies("Action") }.await()
showMoviesGenre(moviesComedy)
showMoviesGenre(moviesAction)
}
requestScope.launch(Dispatchers.Main) {
val moviesComedy = async(Dispatchers.IO) { loadMovies("Comedy") }
val moviesAction = async(Dispatchers.IO) { loadMovies("Action") }
showMoviesGenres(listOf(moviesComedy.await(), moviesAction.await())
}
suspend fun loadMovies() {
}
interface Continuation<in T> {
val context: CoroutineContext
fun resume(value: T)
fun resumeWithException(exception: Throwable)
}
fun <T> Continuation<T>.resume(value: T)
fun <T> Continuation<T>.resumeWithException(exception: Throwable)
suspend fun makeLogin(login: String, password: String): Token {
// make request
return Token("akjsdhakjhdkshdakdjhkashdkaj")
}
suspend fun loadMovies(token: Token): List<Movie> {
// make request with token
return listOf(Movie("Avengers 1"), Movie("Duna"))
}