我正在构建一个小游戏。
我有一个 while()
函数一直在运行,
并需要知道当
addEventlistenner ( 'message' , HandleMessage , true)
或任何其他 addEventListener 在后台启动?
它的工作方式是否像中断一样,将完成执行 HandleMessage
然后返回到我的 while() ?
谢谢。
最佳答案
I have a while() function running all the the time, and need to know what happens when an addEventlistenner ( 'message' , HandleMessage , true) or any other addEventListener is fired up in the background?
如果 while
循环是无限循环,那么您的事件处理程序就不可能被调用。
浏览器中的 JS 执行只是一个单线程操作,当请求/调用任何异步操作时,它会进入一个偶循环队列。这意味着除非当前的 while 循环已完成,否则不会触发在事件循环队列中排队的其他任务。
因此,如果您的 while 循环是无限的,则通过 addEventListener
添加的事件即使被调用也永远不会被执行。
关于javascript - 添加事件监听器和中断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35955637/