【ColdFusion】非同期処理時のコールバック関数について

非同期処理を行うために「cfajaxproxy」タグを使っていたのですが、
成功時のコールバック関数で複数の引数を渡す時にどうすればいいんだろうかと悩んでいたので…

サンプルコード

まず、そもそもの使い方としては公式リファレンスにもサンプルコードが載っていますが、下記の通りです。

// サンプルコード
<cfajaxproxy cfc="cfqry.test_qry" jsclassname="Qry">

<script type="text/javascript">
var getQry = function(){
    var q = new Qry();

    // 非同期呼び出し成功時のコールバック関数設定
    // ここで複数の引数を渡す方法は…?
    q.setCallbackHandler(getQryResult);
    // (略)
}

// 成功時コールバック関数(引数1つ)
var updQryResult = function(result){
    // (略)
}

サンプルコードその2

よく考えてみたら、下記の通りにすればいい事に気づきました。

// サンプルコード
<cfajaxproxy cfc="cfqry.test_qry" jsclassname="Qry">

<script type="text/javascript">
var getQry = function(){
    var q = new Qry();

    // 非同期呼び出し成功時のコールバック関数設定
    // ここで複数の引数を渡す方法は…?
    q.setCallbackHandler(function(AjaxResults) {getQryResult(AjaxResults, hogehoge);});
    // (略)
}

// 成功時コールバック関数(引数1つ)
var updQryResult = function(result, hogehoge){
    // (略)
}

当たり前と言ったら当たり前ですね…(:3_ヽ)_
CFの本もブログ記事も他の物と較べて少ないので勉強するしかない。

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください