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

フォアグラウンドアクションおよびバックグラウンドアクション

フォアグラウンドアクションがデフォルトです。アクションをバックグラウンドアクションとしてマークできます。ユーザに対するアプリケーションの応答性を維持しながら、優先度が低く実行時間が長いアクションをアプリケーションで実行する場合、これが役立ちます。大まかなガイドラインとして、応答がサーバから戻るまでに 5 秒以上かかる場合は、バックグラウンドアクションを使用します。

アクションの一括処理

キューに入れられた複数のフォアグラウンドアクションが 1 つの要求 (XHR) にまとめられ、ネットワークトラフィックが最小限に抑えられます。アクションの一括処理は、ボックスカーイング (貨車の連結) とも呼ばれ、貨車を連結する列車に似ています。

サーバですべてのアクションが処理されると、サーバは XHR 応答をクライアントに送信します。実行時間の長いアクションがボックスカーの中にある場合、その実行時間の長いアクションが完了するまで XHR 応答は保留されます。アクションをバックグラウンドとしてマークすると、そのアクションはフォアグラウンドアクションとは別に送信されます。このため、バックグラウンドアクションはフォアグラウンドアクションの応答時間に影響しません。

キュー内のサーバ側アクションが実行されると、まずフォアグラウンドアクションが実行されてから、バックグラウンドアクションが実行されます。バックグラウンドアクションはフォアグラウンドアクションと並行して実行され、フォアグラウンドアクションとバックグラウンドアクションの応答は順序に関係なく戻ることができます。

アクションのコールバックの実行順序を保証することはできません。サーバの処理時間のために、XHR 要求の送信順序とは異なる順序で XHR 応答が返される場合があります。

独自の要求内で送信された各バックグラウンドアクションに依存しないでください。その動作は保証されず、パフォーマンスの問題が生じる可能性があります。バックグラウンドアクションの目的は、実行時間の長い要求を別の要求に分離することで、フォアグラウンドアクションの応答が遅くなることを回避することです。

メモ

2 つのアクションを順次実行する必要がある場合、コンポーネントでその順序を統制する必要があります。コンポーネントで最初のアクションをキューに追加できます。最初のアクションのコールバックで、コンポーネントは次に 2 番目のアクションをキューに追加できます。

フレームワークで管理される要求の調整

フレームワークではフォアグランド要求とバックグラウンド要求が別々に調整されます。つまり、フレームワークでは、任意の時点で実行されるフォアグラウンド要求の数とバックグラウンドアクションの数を制御できます。フレームワークでは要求が自動的に調整され、ユーザが制御することはありません。フレームワークではフォアグラウンドとバックグラウンドの XHR の数が管理されますが、その数は使用可能なリソースによって異なります。

別々の調整が行われても、サーバへの過剰な数の要求など、条件によってはバックグラウンドアクションがパフォーマンスに影響する場合があります。

バックグラウンドアクションの設定

アクションをバックグラウンドアクションとしてマークするには、JavaScript でアクションオブジェクトに対して setBackground() メソッドをコールします。

1// set up the server-action action
2var action = cmp.get("c.serverEcho");
3// optionally set actions params
4//action.setParams({ firstName : cmp.get("v.firstName") });
5// set as a background action
6action.setBackground();

バックグラウンドアクションをフォアグラウンドアクションに戻すことはできません。つまり、setBackground をコールして false を設定しても、それは無効です。

メモ