我正在研究函数式编程,Arrow-kt即Kotlin
我的用例如下:
我想执行Action并返回相关的Reaction
两者Action都有Reaction关联Side Effects
事件的顺序是
1)。在接受Action立即触发相关联的Actions Side Effects
2)。执行Action并获得Reaction
3)。触发Reactions Side Effects
4)。返回Reaction结果。
请求执行操作时要考虑的其他因素
一个)。当行动从未执行过时;完成整个序列,例如步骤 1 - 4。
乙)。执行时Action;将序列短路,以使步骤 2 - 4 未完成
C)。完成时Action;短路步骤 1 - 3 并返回Reaction结果
上面提到的副作用包括Logging、Analytics和User Interface效果。
我感觉我要求立即触发Action和Reaction副作用意味着函数式编程解决方案不适合我的用例
Arrow-kt我发现的演示文稿和博客描述了如何根据引发的错误条件或使用withEither来短路序列,并实现相同类型的行为。OptionSomeNone
我遇到的困难
一世)。从哪里开始????
ii)。完成四个步骤,如何控制/管理“短路”,以便完成步骤 1 - 4、仅步骤 1 或仅步骤 4
是否可以使用函数式编程实现所需的行为?