首页 > 解决方案 > node.js 和 websocket:是否有可能进入竞争状态?

问题描述

我是 node.js 和 websockets 的新手。

让我们来看一段在 node js 中使用 websocket 的代码:

var myMap = new Map();
//some code here
socket.on('next', function(id) {    
    User.findById(id, function (err, entry) {
        // some code here
        entry.save(function (err){
            myMap.delete(id);
        }
    }
}

此代码是否会遇到与共享变量 myMap 相关的竞争条件?用户是一个基于猫鼬的对象。

我知道 javascript 和 node.js 是单线程的。但是,访问 myMap 的回调 (myMap.delete(id)) 让我感到困惑。

标签: javascriptnode.jswebsocket

解决方案


推荐阅读