kotlin 如何在Jetpack合成中每5秒调用一个函数

8tntrjer  于 2023-03-13  发布在  Kotlin
关注(0)|答案(2)|浏览(188)

我想每隔5秒调用一次ViewModel的函数,在Jetpack Compose中最好的方法是什么?

qyswt5oh

qyswt5oh1#

这取决于您希望这种行为何时开始和结束。
只要您的可组合对象保留在组合中,此操作就会运行:

LaunchedEffect(Unit) {
    while(true) {
        vm.someMethod()
        delay(5000)
    }
}
9bfwbjaz

9bfwbjaz2#

LaunchedEffect(state.showCards) {
        Log.d("gameScreen", "launcheffect: state.showCards")
        if(state.showCards){
            repeat(5){
                Log.d("gameScreen", "count: ${it+1}")
                delay(1000)
            }
            viewModel.hideCards()
        }

    }

上面的代码是针对这样的情况,如果你想做一些事情对一些事件(按钮点击),并在5秒后触发一个函数做一些其他的倒计时

相关问题