- 
                Notifications
    
You must be signed in to change notification settings  - Fork 24
 
Creating a state flow with state in
        Devrath edited this page Jan 21, 2024 
        ·
        4 revisions
      
    
- The 
shareInis similar tostateInbut here the replay cache is set to1 - We can also check the existing value in the flow
 - We do not necessarily need to be collecting the flow to check the new value in the flow so we can check it directly also. code
 
private suspend fun generateDemoFlowTwo() = flow {
        repeat(1000){
            emit("Emitting value => $it")
            delay(2000)
        }
    }.stateIn(
        scope = viewModelScope
    )
    fun demoTwo() = viewModelScope.launch {
        
        println("Before second subscriber subscription -> ${generateDemoFlowTwo().value}")
        
        // Give a delay of 1 second before subscribing
        delay(1000)
        generateDemoFlowTwo().collect{
            println("Collected value (A) => $it")
        }
    }
    fun addNewSubscriberDemoTwo() = viewModelScope.launch{
        generateDemoFlow().collect{
            println("Collected value (B) => $it")
        }
    }