Webtech Walker

JSDeferredのparallelとwaitで最低遅延時間を設定する

Ajaxでデータとってくる間にローディングいれるとき、場合によっては処理が一瞬で終わって逆にローディングがチカっとしてうざいので最低でも1秒はローディング出すって処理を最近だとJSDeferred使ってこんな感じで書いてる。

loading.show();
Deferred.parallel([
    Deferred.wait(1),
    function() {
        var d = Deferred();
        $.get('hoge', function() {
            // 何か処理
            d.call();
        });
        return d;
    }
])
.next(function() {
    loading.hide();
});

便利なり。

このエントリーをはてなブックマークに追加