浏览器大量任务执行
function _runtask(task,callback){ const startTime=Date.now() requestAnimationFrame(()=>{ if(Date.now()-startTime<16.6){ task() callback() }else{ _runtask(task,callback) } }) } function run(task) { return new Promise((resolve) => { _runtask(task,resolve) }) }