在scala
andscalajs
库Diode
中,我使用过但不完全理解PotAction
该类,并且最近才发现AsyncAction
该类,这两种方法似乎都在涉及异步请求的情况下受到青睐。虽然我理解这一点,但我并不完全理解设计决策和命名选择,这似乎暗示了一个更狭窄的用例。
具体来说,两者都AsyncAction
需要PotAction
一个initialModel
和一个next
,就好像两者都是对某种可刷新、可更新内容的异步请求进行建模,而不是 CQRS 意义上的命令。顺便说一下,关于表单输入的同步操作,我有一个有点相关的问题。
我想到了一些特定的用例。我想知道一个草图(不要求实施,只是概念),说明您如何将某些东西PotAction
与以下任何一种结合使用:
- 常规流程中的用户名/密码认证
- 涉及第三方的 OpenAuth 样式身份验证和重定向
- 后台令牌或 cookie 身份验证
- 表单输入的服务器端验证
- 为远程 shell 提交命令
所有这些在本质上似乎与我所看到的有所不同,PotAction
但我真的很想使用它,因为当我根据Pot
.