jquery-deferred.js

はじめjsdeferred.jsとjquery-deferred.jsがあるのが分からずにはまったけどいい感じで配列データを順番に非同期xhrで処理してけるようにできた。間にウエイトを入れたければwaitでできるはず。

<script type="text/javascript" charset="utf-8" src="/js/jquery.js"></script>
<script type="text/javascript" charset="utf-8" src="/js/jquery-deferred.js"></script>
<script type="text/javascript" charset="utf-8">
    function js_callback(defs) {
        var def;
        var defferdObject = new $.deferred();
        var d = defferdObject ;
        while ( def = defs.shift() ) {
            var f = function (def) {
                return function () {
                    document.getElementById("status").innerHTML = def.name + "を処理中...";
                    return $.post("/" , queryString(def));
                }
            }
            d = d.next( f(def) );
        }
        defferdObject.call();
        d.next (function () {
                              document.getElementById("status").innerHTML = "完了";
        } );
    }