A Flow is cold, and that is why your ViewModel fires three network calls
Each collector re-runs the producer. Two UI observers plus a test is three executions.
We use Google Analytics to see which pages help people. No ads, no profiles. Privacy Policy
7 posts
Each collector re-runs the producer. Two UI observers plus a test is three executions.
Virtual time makes a 30-second timeout instant — and makes a real-dispatcher leak invisible.
Conflation turns two identical emissions into one, so a repeated event vanishes.
Structured concurrency propagates failure upward by design. SupervisorJob is how you declare independence.
Swift cancels its Task. The Kotlin Job never hears about it, so the work keeps running.
Dispatchers.Default is a single thread in the browser. Code that was merely slow on Android becomes a frozen tab.
A network call written directly in a composable fires an unpredictable number of times. LaunchedEffect, DisposableEffect and SideEffect each define a different notion of when work should happen.