Francisco Javier Ruiz Rodriguez
03/03/2020, 12:01 PMJan
03/03/2020, 2:30 PMsnowe
03/03/2020, 4:57 PMrunBlocking
is now showing a deprecated
warning, but I can find no information about this anywhere on the internet, not even the actual documentation https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines/run-blocking.html. Anyone know what is up with runBlocking
? What will it be in 1.4?David Glasser
03/03/2020, 7:23 PMasad.awadia
03/04/2020, 1:12 AMBrendan Weinstein
03/04/2020, 4:50 AMnative-mt
branch of the coroutines library using kotlin 1.3.70 and getting the below error message:
Expiring Daemon because JVM heap space is exhausted
Any pointers? When I've been running into ios-specific issues in my codebase, I've been using the nativeTest setup in coroutines to write sanity tests to confirm or reject learnings. It takes a good 1-2 minutes with kotlin 1.3.61 to compile and run the tests though, so I am eager to see some improvement.aeruhxi
03/04/2020, 9:15 AM/**
* You can edit, run, and share this code.
* <http://play.kotlinlang.org|play.kotlinlang.org>
*/
import kotlinx.coroutines.*
fun main() {
println("Hello, world!!!")
CoroutineScope(<http://Dispatchers.IO|Dispatchers.IO>).launch {
(1..1000).forEach {
suspend {
delay(2000)
print("Testing...")
}
}
}
}
What kind of block is suspend {}
?Mohamed Ibrahim
03/04/2020, 3:03 PMcompletion
listener with throwable , wouldn't be just simpler to provide it for just completion, and we already have catch {}
Timur Atakishiev
03/04/2020, 3:13 PMYashdeep Patel
03/04/2020, 4:10 PMzak.taccardi
03/04/2020, 8:34 PMChannel<T>
, and that T
has two subclasses, T.One
and T.Two
.
I need the first emission of T.Two
to initialize some state in a coroutine, and after that I want to observe all emissions of T
. But if T.One
emits first, I want to queue it up (leave it in the channel), and allow it to emit once the first instance of T.Two
finishes emitting.elect
03/04/2020, 10:53 PMThread
or a kotlin coroutine..agta1991
03/05/2020, 11:41 AMJavier
03/05/2020, 10:16 PMmingkangpan
03/06/2020, 9:01 AMval upperJob = launch {
val jobFoo1 = launch {
foo1()
}
val jobFoo2 = launch {
foo2()
}
}
upperJob.cancel() //won't cancel jobFoo1 and jobFoo2
right?
I have to use async
heremingkangpan
03/06/2020, 10:25 AMsupervisorScope {
async {
throw Exception()
}
async {
throw Exception()
}
}
^ app doesn't crash
supervisorScope {
launch {
throw Exception()
}
launch {
throw Exception()
}
}
^ app crashes
what am I doing wrong?Paul Woitaschek
03/06/2020, 11:47 AMVsevolod Tolstopyatov [JB]
03/06/2020, 12:31 PMawaitClose
is missing from callbackFlow
• Flow
exception transparency is now deterministically ensured
• ReceiveChannel.asFlow
extension added
• Kotlin 1.3.70: opt-in annotations, coroutineContext[CoroutineDispatcher]
API support
• Performance improvements in Job
, Channel
and Dispatchers.Default
Full changelog: https://github.com/Kotlin/kotlinx.coroutines/releases/tag/1.3.4Robert
03/06/2020, 12:49 PMSlackbot
03/06/2020, 9:36 PMLuis Munoz
03/06/2020, 10:02 PMCzar
03/07/2020, 9:40 AMsasikanth
03/08/2020, 1:14 PMObservableTransformer
when using Flow
or Channel
?jbnizet
03/08/2020, 10:02 PMFlux.flatMapSequential()
, i.e. a flattenMerge(), but which would emit the values in the initial order of the merged flows. Any idea? I find such an operator quite useful, for example when you want to send HTTP requests in parallel, but with a limited concurrency, and still want to process the responses as if they had been sent sequentially.Czar
03/09/2020, 3:16 PMJoan Colmenero
03/09/2020, 5:12 PMDavid Glasser
03/09/2020, 5:42 PMChannel<Unit>(capacity = Channel.UNLIMITED)
and I never close it, is it guaranteed that offer
will always succeed?zak.taccardi
03/09/2020, 5:57 PMResult
was added to the standard lib, when it’s effectively useless outside of Coroutines?
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-result/
A standard Result<T>
type that we could use as a return value would be incredible useful, and this seems to be a waste of a namespace?napperley
03/10/2020, 1:52 AMnapperley
03/10/2020, 6:02 AMnapperley
03/10/2020, 6:02 AMelizarov
03/10/2020, 8:15 AMnapperley
03/10/2020, 9:00 PMelizarov
03/11/2020, 12:23 PM