清除 SharedFlow:将流转换为 mutableFlow

use*_*079 5 android kotlin kotlin-sharedflow

我有一个返回流的 API,我使用 shareIn() 将其转换为共享流。我有一个用例,我想重置共享流中的缓存值并强制流获取新数据。我们有一个resetReplayCache(),但它仅适用于 MutableSharedFlow。

class User(val id: String) {
   private val _flow = SharedFlow<Data> by lazy {
      Api.observeData(id).map {result-> transformData(result) } . shareIn(scope, timeout, 1)
   }

val flow = _flow


fun forceFetchNewData() {
   _flow.resetReplayCache()// how can I do this?
}
   
}
Run Code Online (Sandbox Code Playgroud)

我真的很感激一些关于将 shareFlow 转换为 mutableSharedFlow 或清空共享流缓存的指示