Javascript 如何使用JS操作DOM而不阻塞网页?

Javascript 如何使用JS操作DOM而不阻塞网页?,javascript,dom,webpage,blocking,Javascript,Dom,Webpage,Blocking,我需要用JS操作DOM(在OpenStreetMap上创建pin和标签对象)。操作过程需要很多时间。 我如何才能做到这一点,而不是阻止网页? 用户应该能够同时使用该网页。您可以成批使用。在每个批次结束时,使用一个短的超时时间安排下一批次,使浏览器有机会刷新显示、处理事件等 此外,如果您执行的操作需要很长时间,因为它必须等待速度较慢的操作(如网络请求),则应以非阻塞方式执行,在数据可用时立即通过回调启动。在不放弃CPU的情况下进行轮询将使浏览器认为脚本不再响应,并询问用户是否要终止它。如果您正在执

我需要用JS操作DOM(在OpenStreetMap上创建pin和标签对象)。操作过程需要很多时间。 我如何才能做到这一点,而不是阻止网页?
用户应该能够同时使用该网页。

您可以成批使用。在每个批次结束时,使用一个短的超时时间安排下一批次,使浏览器有机会刷新显示、处理事件等


此外,如果您执行的操作需要很长时间,因为它必须等待速度较慢的操作(如网络请求),则应以非阻塞方式执行,在数据可用时立即通过回调启动。在不放弃CPU的情况下进行轮询将使浏览器认为脚本不再响应,并询问用户是否要终止它。

如果您正在执行需要同步的同步作业,则可以执行以下操作:

   setTimeout(function(){
      //write your js here
    },0)

这应该可以解决你在做什么,花了这么长时间?DOM操作的成本很高,但通常还不够,因此用户必须等待,直到他们能够再次交互。我正在OpenStreetMap上创建pin和label对象。这确实需要一些时间,具体取决于对象的数量。