如何同步对 JavaScript 对象的私有成员的访问
How to synchronize access to private members of a javascript object
我创建了一个Javascript对象,如下所示:
var ccStatTracker = (function (){
ccmap:{
"1":["1","2","3","4"],
"2":["4","5"];
}
return {
modifyCCMap: function (){
// Code which takes following actions:
// - adds/removes keys.
// - modifies arrays stored as values against the keys in the map.
}
}
)();
我有一个DHTMLXGrid组件,它以行和列的形式显示网格。当我编辑网格中的任何单元格时,将调用"onEditCell"事件。现在,我想从附加到"onEditCell"事件的事件处理程序函数调用ccStatTracker.modifyCCMap()。当我继续修改单元格时,此事件将被异步调用,进而调用一个函数"modifyCCMap",该函数将修改我的 Javascript 对象的私有成员"CCMap"。那么两个电话看到的CCMap的最新状态可能不同吧?那么处理这个问题的最佳方法是什么?Javascript中是否有像Java中一样"同步"的东西?
请帮助我,因为它将决定我们想要采取的方法来实施它。
JavaScript 是单线程的(暂时搁置 Web 工作者),没有异步发生任何事情(或与此相关的所有事情) - 所有代码:事件处理程序、超时、回调等 - 在一个线程中一个接一个地运行。
因此,在 JavaScript 中不需要任何同步。JavaScript 中任何给定的代码段都保证只由单个线程执行。这有多酷?
参见
- JavaScript 相当于 SwingUtilities.invokeLater()
- 异步 AJAX 回调的"原子"操作
- 是否有任何原子JavaScript操作来处理Ajax的异步性质?
- 异步编程(promises)是如何在JavaScript中实现的?JavaScript不是一个UI线程环境吗?
- 。
相关文章:
- 如何使用此从对象访问构造函数
- LokiJS与标准Javascript对象访问
- JavaScript子对象访问自己的值
- Javascript嵌套对象访问根级别
- 即使使用 angular.fromJson() 也无法从 json 对象访问字符串
- 从表单到 Ajax 的动态对象访问
- 将 NodeJS 模块范围变量作为对象访问
- 能够从Meteor中的辅助对象访问特定值
- 从JavaScript对象访问数据's数组成员变量
- 如何从 React 中的事件对象访问自定义属性
- 函数中的对象访问;不起作用
- 如何在javascript中从JSON对象访问数组
- 如何从C#.Net Webbrowser对象访问javascript变量
- Javascript中最快的类/对象访问/实例化是什么
- 覆盖对象访问 JavaScript
- 如何从 jquery 中的另一个对象访问在一个对象中声明的变量
- 从 JavaScript 对象访问变量
- 如何从范围对象访问数据到指令
- 从vue.js中的对象访问v-repeat-overarray中的属性
- jQuery:从具有一个类的多个实例的对象访问元素