gpt4 book ai didi

events - 什么是浏览器事件循环?

转载 作者:行者123 更新时间:2023-12-03 13:32:40 25 4
gpt4 key购买 nike

我一直在使用 GWT 进行一些 Web 应用程序编程,并且对“浏览器事件循环”这个术语感到困惑。

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

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

最佳答案

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

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

关于events - 什么是浏览器事件循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5425863/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com