Monday, May 20, 2024
171
rated 0 times [  174] [ 3]  / answers: 1 / hits: 21774  / 12 Years ago, sat, june 9, 2012, 12:00:00

I have a Javascript object created as follows:



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.
}
}
)();


I have a DHTMLXGrid component which displays grid in the form of rows and columns.
When I edit any cell in the grid, onEditCell event is called.
Now, I want to call ccStatTracker.modifyCCMap() from an event handler function attached to onEditCell event. As I go on modifying the cells, this event will be called asynchronously which will in turn call a function modifyCCMap which will modify private member CCMap of my Javascript object. So the latest state of my CCMap as seen by two calls might be different right? So what is the best way to handle this? Is there something as Synchronized in Javascript as in Java?



Please help me as it will determine the approach we want to take for implementing this.


More From » synchronized

 Answers
13

JavaScript is single-threaded (s aside for a moment), nothing happens asynchronously (or everything for that matter) - all code: event handlers, timeouts, callbacks, etc. - run in the same thread, one after another.



Thus you don't need any synchronization in JavaScript. Any given piece of code in JavaScript is guaranteed to be executed by only a single thread. How cool is that?



See also




[#85028] Friday, June 8, 2012, 12 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
kylee

Total Points: 60
Total Questions: 119
Total Answers: 101

Location: Bonaire
Member since Wed, Mar 29, 2023
1 Year ago
;