アクションおよびアクション・チェーンの理解
アクション・チェーンは、1つ以上の個々のアクションで構成され、それぞれのアクションは単一の非同期作業単位を表します。 アクション・チェーンはイベントによってトリガーされます。
変数のようなアクション・チェーンにはスコープがあります: アプリケーション・レベルまたはページレベルで定義できます。 任意のページからアプリケーション・スコープのアクション・チェーンを呼び出すことができます。 ページ・スコープのアクション・チェーンは、定義されているページからのみ呼び出すことができます。
アクション・チェーンを作成するには、独自のアクションを定義し、事前定義されたアクションを使用することもできます。 特定のチェーン内のアクションは連続して実行され、複数のアクション・チェーンは同時に実行できます。 アクション・チェーンは、非同期アクティビティの調整を簡素化します。
1つのイベントが同時に複数のアクション・チェーンをトリガーすることがあります。 たとえば、ページ入力イベントは、複数のデータ・フェッチ・アクション・チェーンを同時にトリガーすることができます。
アクションは、タスクを実行する特定の機能です。 JavaScriptの場合、アクションはPromiseのファクトリです。 アクションはアクション・チェーン内にのみ存在し、独立して存在することはできません。
アクション・チェーンのコンテキストと契約
アクション・チェーンは明確なコンテキストと契約を持っています: アクション・チェーンは、基本的なアクションを調整し、状態フローと実行パスを調整します。 アクション・チェーンは、そのコンテキストでのみ使用可能な入力パラメータとローカル変数を定義できます。 アクション連鎖の例としては、REST呼び出し(最初のアクション)を行い、その結果を変数に格納します(2番目のアクション)。
アクション・チェーンは、$chainという暗黙のオブジェクトを通じてアクセス可能な独自のコンテキストを保持します。 アクションは新しい状態をそのコンテキストにエクスポートできますが、同じアクション・チェーンに沿った将来のアクションでのみ使用できます。 アクション・チェーンは、ページまたはアプリケーションのコンテキストで作成し、ページまたはアプリケーションのスコープ内に存在することができます。 それは定義されたインタフェースと契約を持ち、そのIDを使ってイベント・トリガーによって呼び出すことができます。
アクション・チェーン契約には3つの部分があります。
| アクション・チェーン・パーツ | 説明 |
|---|---|
| ID | アクション・チェーンの文字列識別子 |
| 入力パラメータ | アクション・チェーンに渡され、アクション・チェーンのコンテキストに追加される0個以上の変数 |
| 変数 | アクション・チェーンの内部にあり、アクションによって内部的に使用可能な0個以上の変数 |
詳細は、『Oracle Visual Builder Studioページ・モデル・リファレンス』の「アクション・チェーン」を参照してください。
組込みアクション
Visual Builderには、アクション・チェーンの組込み(または事前定義済)アクションのセット(ナビゲーションや変数値の割当てなど)が付属しています。 アクションには、開発者が定義できる次の部分があります:
| アクション・パート | 説明 |
|---|---|
| ID | このアクション・インスタンスの文字列識別子。 このアクション部分はオプションです。アクション・チェーンの後半でアクションの結果を参照したい場合にのみIDが必要なためです。 |
| 構成 | ユーザーが構成できるアクションのプロパティ。 たとえば、移動アクションの場合、移動するページおよびそのナビゲーションに必要なパラメータ。 |
| 結果と結果 | アクションには複数の潜在的な結果(成功や失敗、ブランチなど)がある可能性があります。 結果を返すこともできます。 |
| エクスポート国 | アクションは、同じアクション・チェーンのコンテキスト内で将来のアクションに使用できる状態をエクスポートすることができます。 |
事前定義されたアクションには、条件およびその他の処理指示が含まれます。 たとえば、ifアクションとswitchアクションを使用して式を取得し、結果に応じて複数の異なるチェーン継続を提供できます。
事前定義済アクションの詳細は、Oracle Visual Builder Studioページ・モデル・リファレンスのJavaScriptアクションを参照してください。