条件会阻塞Node.js中的主线程吗?

时间:2016-10-01 15:41:20

标签: node.js

我在Node.js中使用socket.io。

var rooms = {"a", "b"};
io.on('connection', function(client) {  
    socket.on('room', function(room) {
       if(room in rooms){
          socket.join(room);
       }
    });
});

...Code below...

将阻止条件下面的主线程和进程:

if(room in rooms){
          socket.join(room);
       }

我的意思是,如果代码在下面等待过程上限到期?

1 个答案:

答案 0 :(得分:0)

您的代码中没有任何内容可以等待或阻止主线程。 io.on()socket.on()都只是安装事件处理程序。其余的Javascript继续运行,并且将来会在与它们相关联的事件发生时调用这些事件处理程序。

条件:

if(room in rooms){

在代码运行并立即执行时进行评估。它不会等待任何事情或阻止。

如果您告诉我们您尝试解决的实际问题是什么,我们可能会帮助您。