Plugins

The plugins site is currently in development.

We've been looking to provide a higher-quality, spam-free experience at the plugins site for some time, and a major error on our part forced us to shut down the current site before we could put the new one in place. We are developing a new site, and you can follow along with its development on GitHub. For more information about this transition, including steps you can take as a plugin author to prepare, please read our post about what's going on.

jQuery Deferred/JSDeferred


Simple and clean asynchronous/nonblocking processing system JSDeferred (is like MochiKit and with some extension) with jQuery supports.

jQuery supports: overwrite ajax functions get, post and getJSON to return Deferred object (no arguments change).

Collect some asynchronous resources by ajax.

parallel([
    $.get("a.html").next(function (data) {
        return data.match(/<title>([^<]+)<\/title>/);
    }),
    $.get("b.txt" ).next(function (data) {
        return data.match(/##\s*([^<]+)\s*##/);
    }),
    $.getJSON("c.json").next(function (data) {
        return data.title;
    })
]).next(function (values) {
    print("Titles "+values.join(", "));
});

Divided loop for non stress browsing. When long time processing is required, it is bad that simply using only for loop because it stops browser appearance. Deferred resolves it with bare minimum of effort.

loop({begin: 1, end:100, step:10}, function (n, o) {
    print(["Processing divided loop:n=", n].join(""));
    for (var i = 0; i < o.step; i++) {
        var j = n + i;
        print(j);
    }
});

Like tail call code. If you are habituated to functional programming, this syntax may be familiar to you.

next(function () {
    function pow (x, n) {
        function _pow (n, r) {
            if (n == 0) return r;
            return call(_pow, n - 1, x * r);
        }
        return call(_pow, n, 1);
    }
    return call(pow, 2, 10);
}).
next(function (r) {
    log([r, "end"]);
});

See more samples!

Downloads



3
Your rating: None Average: 3 (2 votes)