问题标签 [kotlin-sharedflow]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
87 浏览

android - Android kotlin 中 SharedFlow 的使用

嘿,我正在学习 kotlin 中的流程。我正在学习MutableStateFlowMutableSharedFlow。我试图在现实世界的例子中学习MutableStateFlow 。但我无法获得MutableSharedFlow示例,它更适合哪个位置。我尝试了一些MutableStateFlow

例如,当我们从 api 获取数据时,我们可以使用 seal 类进行相应的填充。

LoggedState.kt

SettingsViewModel.kt

活动.kt

我都得到了MutableStateFlow示例。有人可以指导我如何在现实世界的例子中做MutableSharedFlow 。我也对参数很好奇

  1. 重播

  2. 额外缓冲容量

  3. onBufferOverflow

谢谢

0 投票
0 回答
11 浏览

android - 什么时候应该在存储库中使用 LiveData 或 Flow vs Domain Model?

互联网上提供的大量示例使您感到困惑,一些教程仅返回 Domain Model ,一些 return LiveData<DomainModel>,还有一些 return Flow<DomainModel>。我知道这一点LiveData并且Flow是不同的,但是你什么时候应该返回常规域模型与那些像 LiveData、Flow、StateFlow、SharedFlow 等可观察的模型?有什么区别吗?

来自 Android Architecture 组件示例

一些教程

另一个教程

我不是在问LiveDatavs Flow,这个问题显然与何时使用常规域模型对象与可观察对象有关。在什么情况和情况下。

0 投票
0 回答
25 浏览

android - 在 Kotlin 中的特定点交错共享流和非阻塞通道

我有一个 SharedFlow,我想以特定频率交错来自非阻塞通道的项目。

关键是,它对间隔 1、2、3 很重要,如果 Channel 随后停止产生值,则跳过。

我也可以将通道更改为 StateFlow。用 Kotlin 流实现这一点的惯用方法是什么?

0 投票
1 回答
33 浏览

android - MutableSharedFlow - replay 和 extraBufferCapacity 之间的区别

MutableSharedFlow 采用 3 个参数:replay、extraBufferCapacity 和 onBufferOverflow。replay 和 extraBufferCapacity 有什么区别?

该文档提到以下内容:

replay - 重播给新订阅者的值的数量(不能为负数,默认为零)。

extraBufferCapacity - 除了重放之外缓冲的值的数量。当有剩余的缓冲区空间时,emit 不会挂起(可选,不能为负数,默认为零)。

我不完全理解 2 和何时需要 extraBufferCapacity > 0 之间的区别。 extraBufferCapacity 只是发射器的额外重放能力吗?