站长之站 站长之站QQ群:16356000 100345456 16263640 130690866
还没有任何记录...
当前位置:站长之站 > 解决方案 > 正文 > JS代码setTimeout优化

JS代码setTimeout优化

来源:网络作者:网络日期:2018/4/30 23:09:21收藏
本文链接:JS代码setTimeout优化http://www.cncncc.com/way/Show.Asp?id=13
//创建任务控制类
var TaskControl = function(taskFunction, finishFunction){
    this.finish = false;
    this.next = function(){
        if( !this.finish ){
            taskFunction.call(this);
        }else{
            finishFunction.call(this);
        }
    };
};

//老规则,为了方便复制,TaskControl 再写一遍:结束

//任务
var task = function(){
    this.index++; 
    //判断列表中还有没有任务
    if( this.index >= this.data.length ){
        this.finish = true;
        //继续下一个,触发完成
        this.next();
    }else{
        console.time("任务:" + this.index);
        //如果还有任务,开始处理任务
        this.cache.push({
            url : "?" + this.data[this.index],
            index : this.index,
            start :  new Date()
        });
            
        $.get(this.cache[this.index].url, (function(html){
            this.cache[this.index].finish = new Date();
            this.cache[this.index].htmlsize = html.length; 
            console.log(this.cache[this.index]);
            console.timeEnd("任务:" + this.index);        
           //继续下一个
           this.next();
        }).bind(this));
    }
};

var finish = function(){
    console.log("任务完成");
    console.table(this.cache);
};

var run = new TaskControl(task, finish);

//为了测试方便,将数据也绑定过来
run.data = ["1010000007271957", "1010000003115114", "1010000007271957"];//列表
run.index = -1;    //默认索引
run.cache = []; //设置个执行缓存

run.next();    //开始执行

把任务放到run.data,会一个一个执行


作者:站长之站 收集整理,任何媒体转发须保留作者个人微信和来源,不尊重作者劳动的行为将受到举报。
本文链接:JS代码setTimeout优化http://www.cncncc.com/way/Show.Asp?id=13

【JS代码setTimeout优化】由站长之站收集整理,您可以自由传播,请主动带上本文链接

觉得有用就多来支持一下,没有能帮到您,站长之站也只能表示遗憾,希望有一天能帮到您。

(责任编辑:站长之站)

评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
站长之站 · CNCMS
站长之站 测试频道
业界动态
业界动态 门户网站 聚焦人物 电子商务 站长新闻 观察评论
编程开发
ASP教程 .NET教程 JSP教程 PHP教程 Xml/Xslt Shtml教程 CGI专区 JavaScrip 其他编程
服务器类
Web服务器 Ftp服务器 Mail服务器 Dns服务器 Linux服务器 Win服务器 安全防护 服务器其他
建站指南
主机域名 建站入门 建站经验 网站推广 网站优化 网站策划 网络赚钱 网络创业 SEO 专区
网页设计
Html教程 设计心得 动态网页 JS/Ajax Div/Css CSS教程 设计其它
软件教程
Photoshop Fireworks FLASH Dreamweaver Frontpage 其他教程
数据库类
MSAccess MS_SQL My_SQL VFP PowerBuilder Oracle 其它数据
全站导航
业界动态编程开发服务器类建站指南网页设计软件教程数据库类
关于我们/版权
版权所有:
Copyright © 2008 - 2019 站长之站 www.cncncc.com
PowerBy:CNCMS(5.1.20)

苏ICP备16002106号-1