この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

サーバ側のアクションのコール

クライアント側コントローラからサーバ側コントローラのアクションをコールします。クライアント側コントローラにコールバックを設定し、サーバ側のアクションが完了したときにコールされるようにします。サーバ側のアクションは、逐次化可能な JSON データを含む任意のオブジェクトを返すことができます。

クライアント側コントローラは、名前-値のペアを含む、オブジェクトリテラル表記の JavaScript オブジェクトです。この名前はそれぞれクライアント側のアクションに対応します。この値は、アクションに関連付けられた関数コードです。

コンポーネントからサーバコールをトリガするとします。次のコンポーネントには、クライアント側コントローラの echo アクションに接続されるボタンが含まれます。SimpleServerSideController には、クライアント側コントローラから渡される文字列を返すメソッドが含まれます。

次のクラ���アント側コントローラには、サーバ側コントローラで serverEcho メソッドを実行する echo アクションが含まれます。クライアント側コントローラに、サーバ側のアクションが返されたら呼び出されるコールバックアクションを設定します。この場合、コールバック関数がユーザにサーバから返された値を含むアラートを表示します。action.setParams({ firstName : cmp.get("v.firstName") }); は、コンポーネントから firstName 属性を取得して、サーバ側コントローラの serverEcho メソッドに firstName 引数の値を設定します。

クライアント側コントローラでは、c の値プロバイダを使用してサーバ側コントローラのアクションを呼び出します。この構文は、クライアント側コントローラのアクションを呼び出すためにマークアップで使用するものと同じです。cmp.get("c.serverEcho") コールは、サーバ側コントローラで serverEcho メソッドをコールしていることを示します。サーバ側コントローラのメソッド名は、クライアント側のコールの c. に続く内容と完全に一致している必要があります。

$A.enqueueAction(action) は、サーバ側コントローラのアクションを、実行されるアクションのキューに追加します。この方法でキューに追加されたアクションはすべて、イベントループの最後に実行されます。フレームワークでは、個々のアクションごとに個別の要求を送信するのではなく、イベントチェーンを処理し、関連する要求をバッチにまとめてからキューのアクションを実行します。これらのアクションは非同期で、コールバックが設定されています。

コールバックなど非同期コードのコンポーネントを参照する場合は、常に isValid() チェックを追加します。

メモ

アクションの状態

アクションの有効な状態は次のとおりです。

NEW (新規)
アクションが作成されていますが、まだ処理されていません。
RUNNING (実行中)
アクションを処理中です。
SUCCESS (成功)
アクションが正常に実行されました。
ERROR (エラー)
サーバからエラーが返されました。
ABORTED (中止)
アクションが中止されました。

setCallback() には、コールバックを呼び出すアクション状態を登録する 3 つ目のパラメータがあります。setCallback() に 3 つ目の引数を指定しないと、デフォルトで SUCCESS および ERROR 状態が登録されます。ABORTED など別の状態のコールバックを設定するには、3 つ目の引数でアクションの状態を明示的に設定した setCallback() を複数回コールできます。次に例を示します。

メモ