継続の例
ワイヤサービスを使用して継続をコールするコンポーネントと、ボタンをクリックした後に命令として継続をコールするコンポーネントのマークアップを次に示します。
HTML には、継続の命令としてのコールをトリガするボタンが含まれます。詳細は、次の JavaScript ファイルを参照してください。
コンポーネントの JavaScript ファイルを次に示します。
このコードは新しい import 構文を使用します。
この import ステートメントは、継続を返すことができる Apex メソッドをコールしていることをフレームワークに伝えます。startRequest
Apex メソッドで Continuation
オブジェクトを返す場合、メソッドに @AuraEnabled(continuation=true)
のアノテーションを付加する必要があります。
コンポーネントはワイヤサービスを使用して startRequest
Apex メソッドをコールします。ワイヤサービスはフローの管理を Lightning Web Components エンジンに委任します。継続の実行後にワイヤアダプタからのデータが使用可能になると、テンプレートは結果を表示します。Apex クラスで startRequest()
に @AuraEnabled(cacheable=true)
のアノテーションが付加されているため、ワイヤサービスを使用できます。
継続では長時間の要求が実行されるため、ワイヤサービスを使用するのではなく命令としてのコールを実行することで、継続の実行をいつ開始するかを制御することをお勧めします。このコンポーネントは、ワイヤサービスおよび命令としてのコールを使用します。ワイヤサービスは継続をコールして結果をキャッシュします。ボタンをクリックして、同じ Apex メソッドを命令としてコールすると、キャッシュされた結果が返されてテンプレートに表示されます。
関連トピック