DOM中的JavaScript是异步代码还是同步代码?
最初的问题是:“普通的javaScript DOM查询。在继续之前,如何确保异步代码已在前端完成?” 但是我更改了标题,这样搜索查询和显示答案中实际给出的信息会更有用。 您会注意到,根据我提供的代码,我认为DOM操作是异步的。答案指出事实并非如此DOM中的JavaScript是异步代码还是同步代码?,javascript,asynchronous,dom,synchronous,Javascript,Asynchronous,Dom,Synchronous,最初的问题是:“普通的javaScript DOM查询。在继续之前,如何确保异步代码已在前端完成?” 但是我更改了标题,这样搜索查询和显示答案中实际给出的信息会更有用。 您会注意到,根据我提供的代码,我认为DOM操作是异步的。答案指出事实并非如此 如果这样的代码是异步的: let elements = document.querySelectorAll('div'); 那么,在循环之前,如何确保所有“div”元素都已存储到变量“elements”中 let elements = docume
如果这样的代码是异步的:
let elements = document.querySelectorAll('div');
那么,在循环之前,如何确保所有“div”元素都已存储到变量“elements”中
let elements = document.querySelectorAll('div');
//how do you know that all of the elements will
//have been retrieved in time to run this for loop:
for(let i = 0 ; i < elements.length ; i++) {
let div = elements[i]; console.log(div);
}
let elements=document.querySelectorAll('div');
//你怎么知道所有的元素都会
//已及时检索以运行此for循环:
对于(设i=0;i
如果这样的代码是异步的
它不是querySelectorAll
不是异步函数
如何确保所有“div”元素都已存储到变量中
什么也不做
您可能需要等待的唯一原因是,如果以前的函数正在异步向DOM添加内容,那么您必须等待该函数完成。我认为优秀的教师会发现误解并澄清它,而不是本能地否决初级问题 我以前认为,因为DOM是一个单独的接口(即与浏览器交互),所以对它的读写类似于对数据库的读写;我的代码中的错误似乎符合这个范例 实际上,JS脚本是在DOM所在的环境中执行的,因此它不是异步的。异步事件通常被发送到另一个环境,然后在事件循环中排队返回
它不是异步的。它不是异步的,所以没有问题。你的意思是如果元素还没有加载?在这里看不到问题。。。在请求帮助之前,请阅读一些js参考资料。querySelectorAll不是异步的…@Pierre有没有一些文档专门说明
querySelectorAll
是否是异步的?你有链接吗?这里有很多帮助。忽略“投票”。信息才是最重要的。快速响应评论和答案(正如您所做的那样)将为您提供获得个性化帮助的最佳机会。@Haje-(a)这意味着该值可能会被后续代码修改……在问题的循环完成之前,该代码无法运行,因此与此无关;(b)@Haje谢谢,这确实有助于我理解如何将DOM元素存储到变量中。