notifyRecordUpdateAvailable(recordIds)

Lightning データサービスが、ワイヤアダプタのレコードデータを最新状態に保つための適切なアクションを実行できるように、レコードデータが変更されたことを Lightning データサービスに通知します。この関数をコールして、Lightning データサービスのメカニズム外 (命令 Apex 経由や、サードパーティフレームワークを介したユーザインターフェース API のコールなど) でレコードが変更されたことを Lightning データサービスに通知します。この関数は getRecordNotifyChange(recordIds) よりも優先されます。

  • items — (必須) オブジェクトの形状が { recordId: string } のオブジェクトの配列。レコード ID は 15 または 18 文字であり、サポートされるオブジェクトから取得する必要があります。

Lightning データサービスが処理を完了したときに解決される Promise オブジェクト。Promise が解決される前に、影響を受けるすべてのワイヤアダプタに更新情報が送信されます。Promise を使用して、Lightning データサービスがいつ処理を完了したかを判断します。Promise の解決された値の場合は void になります。

notifyRecordUpdateAvailable(recordIds) をコールすると、指定された recordID のデータが変更されていることが示されるため、Lightning データサービスキャッシュおよびワイヤを更新できます。

notifyRecordUpdateAvailable(recordIds) は、getRecordNotifyChange(recordIds) (廃止) とは異なり、インスタンス化されたすべてのコンポーネントによって結び付けられたレコードデータを考慮します。提供された recordIds のいずれかのレコードデータを使用するすべてのワイヤの場合、Lightning データサービスでは、ワイヤの新しいデータが取得され、データが変更された場合に、更新された値がワイヤに対して再生成されます。@wire の通常のセマンティクスに従って、データが変更されていないワイヤに値が再送信されることはありません。

次の例では、Apex メソッドを命令としてコールしてレコードを更新した後に notifyRecordUpdateAvailable() をコールします。

レコードの更新後に Apex を介して notifyRecordUpdateAvailable() がコールされるようにするには、async/await パターンまたは Promise チェーンを使用します。

@wire を使用して Apex メソッドでレコードデータを取得する場合、@wire にバインドされている設定を使用してデータの取得とキャッシュの更新を行う、refreshApex() をコールします。

notifyRecordUpdateAvailable() は一部のレコードが古くなっていることを LDS に通知し、LDS キャッシュにあるそれらのレコードを更新します。

関連トピック