【发布时间】:2018-02-28 14:14:42
【问题描述】:
几年前,我第一次接触到 ReactiveCocoa 的反应式编程。在那里,他们有了 RACCommands 的概念,并通过扩展库 Action 将其转移到 RxSwift。
正如他们的 GitHub 页面所述:
动作是一种表达“嘿,稍后我需要你订阅这个东西”的方式。
Action 接受
workFactory:一个闭包,它接受一些输入并产生一个 observable。当execute()被调用时,它会将其参数传递给这个闭包并订阅该工作。
- 只能在“启用”时执行(如果未指定则为真)。
- 一次只执行一件事。
- 聚合各个执行的下一个/错误事件。
根据我的经验,在进行强大的响应式 iOS 开发时,它是响应式编程工具箱中绝对不可或缺的工具。
现在我们也想把它带到 Android 应用程序中。但是经过无数小时的研究后,我还是找不到 RxJava 或 RxKotlin 的相应组件。
Swift 中的实现相对简单,所以我们可以移植它,但我首先想听听:
- 这确实不存在,如果存在的话
- 这是否存在 Android 特定原因导致它不存在,即不移植它的原因
【问题讨论】:
-
我不完全理解链接库(我不是 iOS/Swift 开发人员),但它有点类似于 RxJavaComputationExpressions (in v2) 或 Android 自己的
AsyncTask。我建议您重新考虑您想要实现的目标并使用简单的 RxJava 构造。 -
您是否在考虑使用 Java
Callable?您在call方法中包含一些要完成的工作,您可以将其提交给Executor以获取Future或使用Observable.fromCallable()将其变为 Observable
标签: android ios rx-java rx-swift rx-kotlin