この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

リモートオブジェクトコールバック関数

リモートオブジェクトは、すべての要求を Salesforce サービスに非同期で送信します。コードは、指定したコールバック関数のリモートオブジェクト操作に対する応答を処理します。コールバック関数は、操作の結果および返されるエラーでページの更新を処理します。

コールバック関数は、イベントおよび非同期操作���処理する JavaScript の標準的な手法です。リモートオブジェクトは、このパターンを使用して、その非同期操作の応答を処理します。リモートオブジェクト操作を呼び出す場合、操作のパラメータや、必要に応じてコールバック関数を指定します。JavaScript コードは、操作を呼び出した後も中断されずに継続します。リモート操作が完了して結果が返されると、コールバック関数が呼び出されて、操作の結果を受信します。

リモートオブジェクトコールバック関数を作成して、最大 3 つの引数を受信できます。
1function callback(Error error, Array results, Object event) { // ... }
名前 説明
error JavaScript error オブジェクト 標準 JavaScript error オブジェクト。操作に成功すると、errornull になります。エラーの理由を取得するには、error.message を使用します。
results JavaScript 配列 操作の結果を含む配列。操作が retrieve() だった場合、結果は適切なリモートオブジェクトのインスタンスになります。それ以外の場合は、影響を受けたレコードの Id を表す文字列が配列に含まれます。
event JavaScript オブジェクト リモートオブジェクト操作を伝送する JavaScript Remoting イベントの詳細を提供する JavaScript オブジェクト。
大部分のコールバック関数は、エラーをチェックし、その結果を使用してアクションを実行します。通常、event オブジェクトは、デバッグおよび高度なエラー管理でのみ使用されます。

retrieve() 操作の結果を処理する簡単なコールバック関数を次に示します。
1function getAllContacts() {
2    $j.mobile.showPageLoadingMsg();
3    
4    var c = new RemoteObjectModel.Contact();
5    c.retrieve({ limit: 100 }, function (err, records) { 
6        // Handle errors
7        if (err) { 
8            displayError(err); 
9        } else {
10            // Add the results to the page
11            var list = $j(Config.Selectors.list).empty();
12            $j.each(records, function() {
13                var newLink = $j('<a>'+this.get('FirstName')+' '+this.get('LastName')+'</a>');
14                newLink.appendTo(list).wrap('<li></li>');
15            });
16            
17            $j.mobile.hidePageLoadingMsg();
18            list.listview('refresh');
19        }
20    });
21}
この例では、getAllContacts()retrieve() をコールして、匿名関数をコールバックとして渡します。コールバック関数はエラーをチェックします。次に、jQuery を使用して結果レコードの配列を反復処理し、ページに追加します。コールバック構造を重点的に確認するために、一部の詳細は省略されています。ページの完全なソースコードについては、「リモートオブジェクトと jQuery Mobile の併用例」を参照してください。