在scala
和scalajs
庫Diode
,我都用過,但沒有完全理解PotAction
類和最近才發現的AsyncAction
類,這兩個似乎涉及,很好,異步請求的情況下受到青睞。雖然我明白,我並不完全理解設計決定和命名選擇,這似乎暗示了一個更狹窄的用例。在用於scalajs的Diode庫中,Action,AsyncAction和PotAction之間的區別是什麼,哪種適合於身份驗證?
具體而言,既AsyncAction
和PotAction
需要initialModel
和next
,好像兩者建模爲某種刷新的,可更新的內容,而不是在CQRS意義上的命令的異步請求。順便說一句,我有一個somewhat-related question open regarding synchronous actions on form inputs。
我有幾個具體的使用案例。我想知道的你如何結合使用類似PotAction
任何的草圖(不要求執行,只是概念):在傳統的流
- 用戶名/密碼認證
- OpenAuth-所涉及第三方和重定向
- 幕後令牌或cookie認證
- 的形式輸入
- 提交的命令進行遠程Shell服務器端驗證形式的驗證
所有這些在性質上似乎與我所看到的使用PotAction
有所不同,但我真的很想使用它,因爲當我根據當前狀態渲染某些內容時,它已經很有幫助的Pot
。
'PotAction'只是一個方便的子類型'AsyncAction',它使用'Pot',這就解釋了爲什麼你有「相同」的方法。 – jmelanson