2

Redux-saga を使用してジェネレーター関数で非同期アクションを管理するためのドキュメントを読みました。
ドキュメンテーションは明確で有望に見えますが、最後に、「サガ」という用語の正確な説明がフロントエンド開発でどうあるべきかについて少し混乱しています。

Redux-Saga docs によってリンクされたこの背景ドキュメント: http://www.cs.cornell.edu/andru/cs711/2002fa/reading/sagas.pdf 言及:

LLT (Long Lived Transaction) は、他のトランザクションとインターリーブできる一連のトランザクションとして記述できる場合、サガです。

基本的に、彼らが言及しているのは、LLT がアトミック アクションとして実行されるという要件を緩和することによって、存続期間の長いデータベース トランザクションを最適化することです。

「サガ」が全体的なフロントエンド開発にどのように翻訳されるかを明確にしていただけますか?
非同期リクエスト管理と関係があると確信していますが、用語の正確な説明についてはかなり曖昧です(フロントエンドに関連する場合)。非同期フローを管理することは、私にはそれほど目新しいことではないように思えますが、「サガ」という用語はむしろそうです。

編集:共通言語を話すという範囲では、それは私にとって重要だと思われました. 質問が関連していない場合は、コメントに理由を追加してください。質問を削除します。

4

1 に答える 1

1

redux-saga では、saga は、一連の副作用を生成するジェネレーター関数として記述されます。これらの副作用のそれぞれを「サブトランザクション」と考えることができます。明らかに、1 つはデータベースについて書かれ、もう 1 つは JS 状態管理フレームワーク (ある意味では、フロント エンド アプリの「データベース」です) について書かれているため、同様のアプローチを適用して、これらのデータに対して複雑で潜在的に非同期のロジック シーケンスを実行できます。 . それが redux-saga の実装の背後にあるインスピレーションであり、それらを saga と呼ぶ理由だと思います。

于 2016-06-15T12:02:18.890 に答える