2016-06-15 11 views
0

Redux-sagasを使用して非同期アクションをジェネレータ関数で管理するためのドキュメントを読んだだけです。
ドキュメントは明確で有望ですが、最終的には、フロントエンドの開発に「サガ」という用語の正確な記述が混乱していると少し混乱しています。用語:「saga」という用語の意味

Reduxの-佐賀ドキュメントによってリンクこの背景資料: http://www.cs.cornell.edu/andru/cs711/2002fa/reading/sagas.pdf は言及:

LLT(長寿命・トランザクション)は、それが取引の シーケンスとして記述することができた場合大河ドラマになることができますトランザクションを他の とインターリーブする必要があります。

基本的に、彼らは何を参照してLLTがアトミックアクションとして実行される要件を緩和ことで長寿命のデータベーストランザクションの最適化です。

「サガ」がフロントエンドの開発全体にどのように変換されるかを明確にすることはできますか?
私は非同期要求管理と関係があると確信していますが、用語の正確な説明(フロントエンドに関連する場合)はむしろ曖昧です。非同期フローを管理することは本当に新しいものではないようですが、むしろ「saga」という言葉はむしろです。

編集: 一般的な言葉を話す範囲では、私にとって重要だったようです。質問が関連しない場合は、理由を追加して質問を削除してください。

答えて

0

あなたのサガは、一連の副作用をもたらすジェネレータ関数として書かれています。これらの副作用のそれぞれを「サブトランザクション」と考えることができます。当然のことながら、データベースとJS状態管理フレームワーク(フロントエンドアプリケーション用の「データベース」)に書かれているので、同様のアプローチを複雑で潜在的に非同期のロジックシーケンスをそれらのデータで実行することができます。私はそれが還元のサガの実装の背後にあるインスピレーションとそれらをサゲを呼び出す理由だと考えています。

+0

ご回答ありがとうございます。それは私が疑った通りです。ここでは「サガ」という言葉は、この図書館とは別に(ここで言及したように)インスピレーションを受けて使用されています。将来的には、非同期フローを管理するためにジェネレータ関数がますます使用されるようになると思いますが、「サガ」という用語がフロントエンド開発の正式な用語になるかどうかは不明ですし、しばしばまだ。複数のブログ投稿では、サガが予定されているものとは若干異なる(しかし重要な意味)意味を持ち続けるように見えます。あるものは、他のものよりもゆるやかに用語を使用しています。 – Trace

関連する問題