• Ajax同步发送、字符串按步长截断


    Ajax同步发送:

    (1)闭包的使用

    多个Ajax请求,同步发送(能同步发送几个?让浏览器自己去决定吧).同步发送,每个ajax请求单独处理自己的请求.

    for(var i=0;i<len;i++){

         Ajax.post(url,param,(function(param,i){

              return function(txt){

                      var res = txt.evalExp();//解析返回的json对象

                     //这里可以利用i处理每一个ajax请求

          }

        }(param,i))

        );

    }

     (2) 队列 

     ps:别人写的,找不到连接了,悲剧~

    function Buffer(handler) {

        var queue = [];

        function run() {

            var callback = function () {

                 if (queue.length > 0) {

                      run();

                 }

            }

            handler(queue.shift(), callback);

        }

        this.append = function(task) {

            queue.push(task);

            

            if (queue.length === 1) {

                run();

            }

            

        }

    }

    function Task(item, url, callback) {

        this.item = item;

        this.url = url;

        this.callback = callback

    }

    function taskHandler(task, callback) {

        Ajax.post(task.url,task.item,function(txt){

            if (task.callback) {

                       task.callback(txt);

             }

             callback(txt);

        });

    }

    var buffer = new Buffer(taskHandler);

    操作的时候:

    buffer.append(new Task(ajaxParams[i], ajaxURL[i],ajaxCallback[i]));//参数,url,callback

     

    字符串按步长截断

    其实直接用function就好,不要用prototype

    另:

    汉字特别不好处理,

    Step是1的时候,就全部分开

    Step是奇数的时候(3,5…),就按不够step的分开,比如上面的例子就分成了

  • 相关阅读:
    Java连接Mysql数据库异常:Public Key Retrieval is not allowed
    java8的时间段比较处理工具类TimeUtils
    MAVEN最常用的远程仓库
    maven的settings.xml配置阿里云中央仓库
    idea如何将java程序打包成exe可执行文件
    FakerUtil
    Golang内存逃逸是什么?怎么避免内存逃逸?
    10个高效Linux技巧及Vim命令对比[转]
    进程间8种通信方式详解
    基于openresty的URL 断路器/熔断器 -- URL-fuse
  • 原文地址:https://www.cnblogs.com/lilyimage/p/2670640.html
Copyright © 2020-2023  润新知