継続の @AuraEnabled
アノテーション
継続では Apex コードで @AuraEnabled
アノテーションを使用します。使い方のルールは次の通りです。
-
@AuraEnabled(continuation=true)
継続を返す Apex コントローラメソッドには、
@AuraEnabled(continuation=true)
アノテーションを付加する必要があります。 -
@AuraEnabled(continuation=true cacheable=true)
継続アクションの結果をキャッシュするには、Apex コールバックメソッドのアノテーションで
cacheable=true
と設定します。
continuation=true cacheable=true
の間は、コンマではなくスペースで区切ってください。
:::
Continuation
オブジェクトを返すメソッドを含めて、継続チェーンに関与するすべてのメソッドで cacheable=true
と設定するのがベストプラクティスです。
この例では、継続を返す Apex メソッド (startRequest()
) とコールバック (processResponse()
) の両方の @AuraEnabled
アノテーションで cacheable=true
が設定されています。
@AuraEnabled
での cacheable
属性の各設定の動作を下表にまとめます。
cacheable=true のアノテーションが付いた、継続オブジェクトを返すメソッド | cacheable=true のアノテーションが付いたコールバックメソッド | 有効かどうか | @wire を使用してコール可能? | アクションからの応答がクライアントでキャッシュされるかどうか |
---|---|---|---|---|
はい | はい | はい | はい | はい |
はい | いいえ | いいえ (例外をスロー) | なし | なし |
いいえ | はい | はい | いいえ (すべてのメソッドで cacheable=true にする必要あり) | いいえ |
いいえ | いいえ | はい | いいえ | いいえ |
関連トピック