ここでは、ビジネスメソッドの実行時に指定するコールバック関数について説明します。
callback
callbackには、正常終了時に実行する処理または関数を指定します。
callbackの引数には、サーバからの戻り値が渡されます。サーバからの戻り値がnullの場合は、nullが渡されます。
以下に、mypkg.CustomerBeanクラスを戻り値として受け取る例を示します。
戻り値となるJavaBeanの記述例
package mypkg;
public class CustomerBean
{
private String customerId;
private String customerName;
public String getCustomerId() {
return customerId;
}
public void setCustomerId(String customerId) {
this.customerId = customerId;
}
public String getCustomerName() {
return customerName;
}
public void setCustmerName(String customerName) {
this.customerName = customerName;
}
}callbackの記述例
var option = {
...,
callback:function(res){
customerModel.setProperty("cid", res.customerId);
customerModel.setProperty("cname", res.custmerName);
}
};errorHandler
errorHandlerには、エラー発生時に実行する処理または関数を指定します。
errorHandlerの引数には、エラーオブジェクトが渡されます。詳細は、“3.10 通信フレームワーク内のエラー”を参照してください。
以下に、エラー発生時にエラーコードとエラーメッセージをalertで表示する場合の記述例を示します。
var option = {
...,
errorHandler:function(err){
alert( "Application Error ( " + err.errorCode + " : " + err.message + " )" );
}
};preInvoke
preInvokeには、リクエストを送信する直前に実行する処理または関数を指定します。
以下に、処理時刻をデバッグメッセージに出力する場合の記述例を示します。
var option = {
...,
preInvoke:function(){
var lcDate = new Date();
RCF.debug( lcDate.toLocaleString() + " : preInvoke " ); }
};postInvoke
postInvokeには、リクエストを送信後に実行する処理または関数を指定します。
postInvokeは、非同期通信と同期通信で呼び出されるタイミングが異なります。
非同期通信の場合: リクエストを送信した直後に呼び出されます。
同期通信の場合: レスポンスを受信した直後に呼び出されます。
postInvokeに指定した関数は、callbackに指定した関数より前に呼び出されます。
以下に、処理時刻をデバッグメッセージに出力する場合の記述例を示します。
var option = {
...,
postInvoke:function(){
var lcDate = new Date();
RCF.debug( lcDate.toLocaleString() + " : postInvoke " ); }
};