ServiceNow getReference() 非同期関数の使い方
概要
getReference()
getReference()はクライアントスクリプトでサーバ情報を非同期で
取得する関数です。スクリプトインクルードを作成する必要がないので
少ないコードでテーブルデータを取得することができます。
getReference()の引数は参照型フィールド名,呼び出す関数名です。
次の例では参照型フィールドuserのレコードを取得してsetUserInfo
関数を呼び出しています。
使用例
function onChange(control, oldValue, newValue, isLoading) {
if (isLoading || newValue == '') {
return;
}
//参照フィールドuserのレコードを取得してsetUserInfoを呼び出す
g_form.getReference('user', setUserInfo);
//ユーザ情報をフィールドuser_infoに設定する
function setUserInfo(user) {
g_form.setValue('user_info', user.name + ' [' + user.employee_number + ']');
}
}
function onChange(control, oldValue, newValue, isLoading) {
if (isLoading || newValue == '') {
return;
}
//参照フィールドuserのレコードを取得してsetUserInfoを呼び出す
g_form.getReference('user', setUserInfo);
//ユーザ情報をフィールドuser_infoに設定する
function setUserInfo(user) {
g_form.setValue('user_info', user.name + ' [' + user.employee_number + ']');
}
}
function onChange(control, oldValue, newValue, isLoading) { if (isLoading || newValue == '') { return; } //参照フィールドuserのレコードを取得してsetUserInfoを呼び出す g_form.getReference('user', setUserInfo); //ユーザ情報をフィールドuser_infoに設定する function setUserInfo(user) { g_form.setValue('user_info', user.name + ' [' + user.employee_number + ']'); } }
分析
getXML()及びgetXMLAnswer()の場合は必要な
行列のデータのみを取得しますが、getReference()の場合は
1レコード全体を取得します。
getReference()の方がパフォーマンス問題があるために利用は避けられています。