Javascript 防止在使用时更改阵列';已经从其他地方异步更改了吗?

Javascript 防止在使用时更改阵列';已经从其他地方异步更改了吗?,javascript,arrays,node.js,asynchronous,Javascript,Arrays,Node.js,Asynchronous,在我的多用户live Nodes.js应用程序中,我有一个函数可以。它是一个asyn函数,可能由两个不同的用户独立调用,可能同时调用(客户端站点套接字触发器),以便在同一阵列上执行操作 myUsers= []; myUsers.push('user1'); myUsers.push('user2'); myUsers.push('user3'); 函数移除用户(用户){ 对于(var i=0;iNo.Node.js是单线程的。因此,一次只执行一个函数。您描述的问题仅适用于多线程环境 例如,尽

在我的多用户live Nodes.js应用程序中,我有一个函数可以。它是一个asyn函数,可能由两个不同的用户独立调用,可能同时调用(客户端站点套接字触发器),以便在同一阵列上执行操作

myUsers= [];
myUsers.push('user1');
myUsers.push('user2');
myUsers.push('user3');

函数移除用户(用户){

对于(var i=0;iNo.Node.js是单线程的。因此,一次只执行一个函数。您描述的问题仅适用于多线程环境

例如,尽管
removeUser('user1')
removeUser('user3'))
已准备好执行,它们将被推到队列中。Node.js引擎将获取前面的元素并执行它,执行完成后,从队列中拾取下一项。因此,
user1
将首先被删除,然后
user3

function removeUser(user){
    for(var i=0; i<=myUsers.length; i++){
        if(user===myUsers[i]){
            myUsers.splice(i,1);
            break;
}   }   }