jQuery Deferred -


未知
未知

软件简介

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>/); }), $.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!