javascript - 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)) 让我感到困惑。
解决方案
推荐阅读
- c++ - FbxMesh 如何确定使用哪个 FbxSurfaceMaterial?(FBX SDK 2019)
- mysql - MySQL:针对所有列的 WHERE 条件而不指定它们
- azure - 将 Service Fabric 应用迁移到 Kubernetes
- vim - 使用 vim-latex-live-preview:如何使 pdf 视图显示您编辑文件的位置
- sml - 实现二分查找但找不到元素
- jenkins - 可以使用 stable/helm 启动 Jenkins
- r - 我怎样才能从我的假人中只使用一年?
- ruby-on-rails - 如何在 Rails 的视图(html 页面)中访问 json 对象的值?
- javascript - 如何获得表格标题的宽度并与 JQuery 中的表格单元格具有相同的大小?
- python - 将数据放入谷歌数据存储后必须刷新