码迷,mamicode.com
首页 > 其他好文 > 详细

高阶函数 - 分时函数

时间:2017-07-11 17:48:20      阅读:152      评论:0      收藏:0      [点我收藏+]

标签:tee   val   nbsp   art   friend   creat   根据   interval   innerhtml   

        /**
         * 分时函数
         * @param  {[Array]}   ary   [数据]
         * @param  {Function} fn    [根据数组中的每个数据执行一个fn]
         * @param  {[type]}   count [每200ms执行一次start方法,start方法执行count次fn方法]
         */
        var timeChunk = function(ary, fn, count) {
            var obj, t;

            var start = function() {
                for (var i = 0; i < Math.min(count || 1, ary.length); i++) {
                    var obj = ary.shift();
                    fn(obj);
                };
            };

            return function() {
                t = setInterval(function() {
                    if (ary.length === 0) {
                        return clearInterval(t);
                    } else {
                        start();
                    };
                }, 200);
            };
        };


        // test
        
        var ary = [];
        for (var i = 1; i <= 1000; i++) {
            ary.push(i);
        };

        var renderFriendList = timeChunk(ary, function(n) {
            var div = document.createElement(‘div‘);
            div.innerHTML = n;
            document.body.appendChild(div);
        }, 8);
        renderFriendList();

 

高阶函数 - 分时函数

标签:tee   val   nbsp   art   friend   creat   根据   interval   innerhtml   

原文地址:http://www.cnblogs.com/sorrowx/p/7151377.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!