データガイドライン
Lightning データサービス
Apex メソッドのインポート
コンポーネントへの Apex メソッドの公開
コンポーネントへの Apex メソッドの結び付け
命令としての Apex メソッドのコール
Apex アクションの一括処理
クライアント側キャッシュ
オブジェクトと項目のインポート
Apex 継続オブジェクト
@AuraEnabled
継続の例
継続の制限
Apex クラスの保護
Apex からの API のコール
ワイヤサービスを使用して継続をコールするコンポーネントと、ボタンをクリックした後に命令として継続をコールするコンポーネントのマークアップを次に示します。
1<!-- continuationCmp.html -->
2<template>
3 <lightning-button label="Call Continuation" onclick={callContinuation}> </lightning-button>
4 <div>@wire(startRequest) result: {formattedWireResult}</div>
5 <div>Imperative result: {formattedImperativeResult}</div>
6</template>HTML には、継続の命令としてのコールをトリガするボタンが含まれます。詳細は、次の JavaScript ファイルを参照してください。
コンポーネントの JavaScript ファイルを次に示します。
1import { LightningElement, track, wire } from "lwc";
2import startRequest from "@salesforce/apexContinuation/SampleContinuationClass.startRequest";
3export default class ContinuationComponent extends LightningElement {
4 @track imperativeContinuation = {};
5
6 // Using wire service
7 @wire(startRequest)
8 wiredContinuation;
9
10 get formattedWireResult() {
11 return JSON.stringify(this.wiredContinuation);
12 }
13
14 // Imperative Call
15 callContinuation() {
16 startRequest()
17 .then((result) => {
18 this.imperativeContinuation = result;
19 })
20 .catch((error) => {
21 this.imperativeContinuation = error;
22 });
23 }
24
25 get formattedImperativeResult() {
26 return JSON.stringify(this.imperativeContinuation);
27 }
28}このコードは新しい import 構文を使用します。
1import startRequest from "@salesforce/apexContinuation/SampleContinuationClass.startRequest";この import ステートメントは、継続を返すことができる Apex メソッドをコールしていることをフレームワークに伝えます。startRequest Apex メソッドで Continuation オブジェクトを返す場合、メソッドに @AuraEnabled(continuation=true) のアノテーションを付加する必要があります。
コンポーネントはワイヤサービスを使用して startRequest Apex メソッドをコールします。ワイヤサービスはフローの管理を Lightning Web Components エンジンに委任します。継続の実行後にワイヤアダプタからのデータが使用可能になると、テンプレートは結果を表示します。Apex クラスで startRequest() に @AuraEnabled(cacheable=true) のアノテーションが付加されているため、ワイヤサービスを使用できます。
継続では長時間の要求が実行されるため、ワイヤサービスを使用するのではなく命令としてのコールを実行することで、継続の実行をいつ開始するかを制御することをお勧めします。このコンポーネントは、ワイヤサービスおよび命令としてのコールを使用します。ワイヤサービスは継続をコールして結果をキャッシュします。ボタンをクリックして、同じ Apex メソッドを命令としてコールすると、キャッシュされた結果が返されてテンプレートに表示されます。
関連トピック
The Japanese Summer '24 guide is now live