【问题标题】:Using Coroutine Flow in Swift在 Swift 中使用协程流
【发布时间】:2020-09-04 21:04:51
【问题描述】:

我们目前如何从 swift 收集 Flow

使用新的Support for Kotlin’s suspending functions in Swift 流的collect 方法在swift 中得到这个相当笨重的签名

vm.topStoriesFlow.collect(
 collector: Kotlinx_coroutines_coreFlowCollector,
 completionHandler: @escaping (KotlinUnit?, Error?) -> Void
)

知道如何使用它,或者即使当前支持它的使用?

【问题讨论】:

  • 这是一个意见,而不是一个答案。对挂起功能的支持有点奇怪。您无法真正控制调度程序或生命周期。一般来说,我仍然会为通用挂起函数编写一个包装器,而不是使用内置函数,对于 Flow 更是如此,你会想要写一些特定于你正在做的事情的东西。 dev.to/touchlab/kotlin-1-4-suspend-functions-209 在更简单的情况下,我认为挂起函数输出是有意义的,但在“真实应用”场景中,我认为您需要更多控制权。

标签: kotlin kotlin-coroutines kotlin-multiplatform kotlin-native kotlin-flow


【解决方案1】:

正如 Kevin 所说,一种可能且流行的方法是创建一个包装器。您可以查看kotlinconf-app/CFlow 了解更多信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-02-26
    • 2014-12-15
    • 1970-01-01
    • 1970-01-01
    • 2021-04-19
    • 2022-09-22
    • 2015-10-18
    相关资源
    最近更新 更多