Closed MattiaRiola closed 2 years ago
Transform the code into a jobs that can be cancel
https://kotlinlang.org/docs/cancellation-and-timeouts.html#cancelling-coroutine-execution
Esempio di codice per usare async in una coroutine:
suspend fun getTransactions() : Flow<Transaction> = coroutineScope {
val res = async {
println("2")
2
}
res.await()
val sub = principal.awaitSingle().sub
paymentService.getTransactionsByUser(sub)
}
Il servizio buy ticket può fare le richieste in modo concorrente e parallelo chiamando le suspend function in modo async
finito viene stampato prima rispetto che chiamare le suspend fun delle repo senza wrapparle con async perché le due richieste usando le async vengono fatte in parallelo.