我有一个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中的"Synchronized"一样的东西呢?请帮助我,因为这将决定我们实现这个功能的方法。