多层级数据的定时任务

function loop(data, fn, n = 10) {

            // n 默认10秒

            let t = 0;

            data.forEach((el1) => {

                el1.children.forEach((el2) => {

                    setTimeout(() => {

                        fn(el1, el2);

                    }, t);

                    t += el2.children.length * 1000 * n

                });

            });

            setTimeout(() => {

                loop(data, fn)

            }, t + 10)

        }

        loop(data, function(el1, el2) {

            console.log(el1.value, el2.value, el2.children, '显示' + el2.children.length + '个单位时间'); //输出到视图,具体展示可以在这里写

        });

你可能感兴趣的:(js,javascript)