<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width,initial-scale=1.0,maximum=1.0,minimum=1.0,user-scalable=0" /> <script type="text/javascript"> function scheduleTasks(tasks, chunkSize) { let taskQueue = tasks.slice(); // 复制任务数组以避免修改原始数组 function executeChunk(deadline) { while (deadline.timeRemaining() > 0 && taskQueue.length > 0) { const task = taskQueue.shift(); task(); } if (taskQueue.length > 0) { requestIdleCallback(executeChunk); } } requestIdleCallback(executeChunk); } // 使用示例 const tasks = []; // 存放需要执行的任务函数 // 添加任务到任务队列 for (let i = 0; i < 100; i++) { tasks.push(() => { // 这里放置每个任务的具体操作 console.log(`Task ${i} executed`); }); } // 调用分时任务执行函数,每次执行10个任务 scheduleTasks(tasks, 10); </script> </head> <body> </body> </html>
网友回复