zoukankan      html  css  js  c++  java
  • JQuery使用deferreds串行多个ajax请求

      使用JQuery对多个ajax请求串行执行。

    HTML代码:

    <a href="#">Click me!</a>
    <div></div>

    JS:

    function GetSomeDeferredStuff() {
        var deferreds = [];
    
        var i = 1;
        for (i = 1; i <= 10; i++) {
            var count = i;
    
            deferreds.push(
            $.post('/echo/html/', {
                html: "<p>Task #" + count + " complete.",
                delay: count
            }).success(function(data) {
                $("div").append(data);
            }));
        }
        
        return deferreds;
    }
    
    $(function() {
        $("a").click(function() {
            var deferreds = GetSomeDeferredStuff();
    
            $.when.apply(null, deferreds).done(function() {
                $("div").append("<p>All done!</p>");
            });
        });
    });

      方法类似于Node.js中的q,使用promise defer模式将所有的ajax请求放到一个数组里,然后通过$.when.apply().done()将所有ajax请求依次执行。

  • 相关阅读:
    线段树(已修改+补题
    畅通工程
    线段树
    charles
    flash
    mysql node pool
    node简单操作mysql的类
    小于任意数字的随机数
    文件系统的移植
    驱动
  • 原文地址:https://www.cnblogs.com/jaxu/p/5794576.html
Copyright © 2011-2022 走看看