首页 > 其他 > 详细

高阶函数 - 分时函数

时间:2017-07-11 17:14:39      阅读:235      评论:0      收藏:0      [点我收藏+]
        /**
         * 分时函数
         * @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();

 

高阶函数 - 分时函数

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!