継続の例

ワイヤサービスを使用して継続をコールするコンポーネントと、ボタンをクリックした後に命令として継続をコールするコンポーネントのマークアップを次に示します。

HTML には、継続の命令としてのコールをトリガするボタンが含まれます。詳細は、次の JavaScript ファイルを参照してください。

コンポーネントの JavaScript ファイルを次に示します。

このコードは新しい import 構文を使用します。

この import ステートメントは、継続を返すことができる Apex メソッドをコールしていることをフレームワークに伝えます。startRequest Apex メソッドで Continuation オブジェクトを返す場合、メソッドに @AuraEnabled(continuation=true) のアノテーションを付加する必要があります。

コンポーネントはワイヤサービスを使用して startRequest Apex メソッドをコールします。ワイヤサービスはフローの管理を Lightning Web Components エンジンに委任します。継続の実行後にワイヤアダプタからのデータが使用可能になると、テンプレートは結果を表示します。Apex クラスで startRequest()@AuraEnabled(cacheable=true) のアノテーションが付加されているため、ワイヤサービスを使用できます。

継続では長時間の要求が実行されるため、ワイヤサービスを使用するのではなく命令としてのコールを実行することで、継続の実行をいつ開始するかを制御することをお勧めします。このコンポーネントは、ワイヤサービスおよび命令としてのコールを使用します。ワイヤサービスは継続をコールして結果をキャッシュします。ボタンをクリックして、同じ Apex メソッドを命令としてコールすると、キャッシュされた結果が返されてテンプレートに表示されます。

関連トピック