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"]); });
jQuery Deferred 官网
http://plugins.jquery.com/project/deferred
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。