Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/478.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 当一个事件处理程序正在运行而另一个事件(相同或不同的事件类型)发生时会发生什么?(在socket.io客户端中)_Javascript_Socket.io_Handler_Shared - Fatal编程技术网

Javascript 当一个事件处理程序正在运行而另一个事件(相同或不同的事件类型)发生时会发生什么?(在socket.io客户端中)

Javascript 当一个事件处理程序正在运行而另一个事件(相同或不同的事件类型)发生时会发生什么?(在socket.io客户端中),javascript,socket.io,handler,shared,Javascript,Socket.io,Handler,Shared,我在socket.io客户机中有多个事件处理程序,我希望确保如果另一个处理程序正在运行,它们都不会执行 我不知道在以下情况下会发生什么: 名为push的事件的处理程序正在运行且尚未完成,并且发生了另一个名为message的事件(或另一个push事件) 在当前正在运行的处理程序的执行完成之前,它们的处理程序是否可以开始运行 如果这是可能的,并且我们有共享的变量,我们如何控制访问它们 提前感谢单个javascript脚本是单线程的,这样可以确保完全按顺序处理两个事件。我不知道两个剧本。谢谢马克西姆。

我在socket.io客户机中有多个事件处理程序,我希望确保如果另一个处理程序正在运行,它们都不会执行

我不知道在以下情况下会发生什么:

名为push的事件的处理程序正在运行且尚未完成,并且发生了另一个名为message的事件(或另一个push事件)

在当前正在运行的处理程序的执行完成之前,它们的处理程序是否可以开始运行

如果这是可能的,并且我们有共享的变量,我们如何控制访问它们


提前感谢

单个javascript脚本是单线程的,这样可以确保完全按顺序处理两个事件。我不知道两个剧本。谢谢马克西姆。我不确定,但我想当我们使用纯javascript时,甚至当我们使用angular.js这样的单个库时,您所说的是正确的,但我有一个代码,其中angular在socket.io事件处理程序中广播事件,angular事件处理程序在socket.io处理程序的下一行之前被调用。也许每个库都有自己的事件发射和处理系统,一个javascript脚本是单线程的,这确保了两个事件完全按顺序处理。我不知道两个剧本。谢谢马克西姆。我不确定,但我想当我们使用纯javascript时,甚至当我们使用angular.js这样的单个库时,您所说的是正确的,但我有一个代码,其中angular在socket.io事件处理程序中广播事件,angular事件处理程序在socket.io处理程序的下一行之前被调用。也许每个库都有自己的事件发射和处理系统。