首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >什么是浏览器事件循环?

什么是浏览器事件循环?
EN

Stack Overflow用户
提问于 2011-03-25 05:35:36
回答 1查看 5.3K关注 0票数 20

我一直在使用GWT进行一些web应用程序编程,但一直被“浏览器事件循环”这个术语搞糊涂了。

我遇到过需要执行延迟命令并在浏览器事件循环完成后“做点什么”的情况。

我想知道它到底是什么,在事件循环过程中会发生什么,顺序是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-03-25 06:08:35

浏览器事件循环是由浏览器启动的线程,它不断地扫描和运行不同的事件,就像它听起来的那样。当事件发生时,它们被放入事件队列中,并由一个事件线程依次运行。你的javascript不应该创建自己的循环等待它完成,否则像that...it这样的东西会阻塞一个连续的事件循环线程。相反,你可以使用像setTimeout或setInterval这样的工具,检查你正在等待的任何条件,这样浏览器就可以在“等待”的同时工作。

GWT很好,因为它可以在某种程度上使用scheduler来选择这个过程--在您希望在事件循环“完成”之后运行某些东西的情况下,您可能希望使用scheduleFinally或scheduleDeferred。它将一段代码的处理程序注入到事件队列中,以便它在当前执行上下文(当前执行上下文==,无论您在当前JavaScript对象层次结构中以窗口作为根对象)中的所有其他代码运行之后,但在放置在队列中的下一个事件之前运行。

票数 19
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5425863

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档