Javascript 异步删除DOM元素的子元素?

Javascript 异步删除DOM元素的子元素?,javascript,dom,ecmascript-6,Javascript,Dom,Ecmascript 6,我有一个div#parent元素,它有几千个兄弟姐妹子女div#1,div#2,div#3,如下所示: <div id="parent"> <div id="1"> </div> <div id="2"> </div> <div id="3"> </div> … … … <div id="N"> </div> </div> 选项2: va

我有一个
div#parent
元素,它有几千个兄弟姐妹子女
div#1
div#2
div#3
,如下所示:

<div id="parent">
  <div id="1"> </div>
  <div id="2"> </div>  
  <div id="3"> </div>  
  …
  …
  …
  <div id="N"> </div>
</div> 
选项2

var myNode = document.getElementById("foo");
myNode.innerHTML = '';
let parentNode = document.getElementById("parent");
while (parentNode.firstChild) {
    parentNode.removeChild(parentNode.firstChild);
}

因为
while循环
给出了“忙碌状态”在
dom
dom
的单线程环境中,我想知道是否有可能从dom的单线程环境中异步删除节点,我想知道是否有可能从dom的单线程环境中异步删除节点,从dom的单线程环境中删除节点,我想知道是否有可能从dom的单线程环境中删除节点,我想知道是否有可能存在一个可能性,是否有可能从dom中异步删除节点,从dom中删除节点的节点。我想知道是否有可能/e-e-a-a-a-a-a-a-9 9-a-a-甲-甲-甲-甲-甲-甲-甲-甲-甲-甲-甲-甲-甲-甲-甲-甲-甲-甲-甲-甲-甲-甲-甲-甲-甲-甲-甲-甲-甲-甲-甲-甲-甲-甲-甲-甲-甲-甲-甲-甲-甲-甲-甲-甲-甲-甲-甲-甲显然
innerHTML='
将同时删除所有项目。如果这太慢了,您希望一点一点地删除元素,那么您需要类似于第二种方法的东西

let parentNode = document.getElementById("parent");
(function remove() {
  // Remove elements in groups of 100
  for(let i=0; i<100 && parentNode.firstChild; ++i) {
    parentNode.removeChild(parentNode.firstChild);
  }
  // Continue asynchronously after 50ms
  setTimeout(remove, 50);
})();
let parentNode=document.getElementById(“父”);
(函数删除(){
//以100个为一组删除元素

对于(让i=0;我首先避免生成数千个
div
标记不是更好吗?是什么让你认为需要异步才能“高效”呢?这里有一些异步foreach循环,不确定它们的性能如何@marvindaning:您可能想了解一下非阻塞loops@marvindanig若要求不一次删除一个元素,则
。innerHTML=“
将返回预期结果;不需要另一个模式