Tengo un objeto de Javascript crea de la siguiente manera:

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

Tengo un DHTMLXGrid componente que muestra la cuadrícula en forma de filas y columnas.
Cuando puedo editar cualquier celda de la cuadrícula, «onEditCell» evento es llamado.
Ahora, quiero llamar ccStatTracker.modifyCCMap() de una función de controlador de eventos se apegan al «onEditCell» del evento. Como me vaya en la modificación de las células, este evento será llamada asincrónica que a su vez llame a una función de «modifyCCMap», que va a modificar miembro privado «CCMap» de mi objeto de Javascript. Así que el último estado de mi CCMap como se ve por dos llamadas puede ser diferente a la derecha? Entonces, ¿cuál es la mejor manera de manejar esto? Hay algo como «Sincronizado» en Javascript como en Java?

Por favor me ayude, ya que determinará el enfoque que queremos tomar para la aplicación de esta.

ASAP no hacen más ASAP 🙂
asynchronously no significa concurrently!
hmm.sólo le dio una oportunidad.
Kling : eso es la pieza de información es realmente útil.
Kling: así que en el anterior senario, si el usuario entra en la edición de las células,Todos los eventhandlers que son despedidos se ejecutan una después de la otra(no al mismo tiempo),incluso si se han iniciado de forma asincrónica!! A la derecha?

OriginalEl autor Shailesh Vaishampayan | 2012-06-09

1 Comentario

  1. 13

    JavaScript es un único subproceso (s de lado por un momento), no pasa nada de forma asincrónica (o todo lo que importa) – todos código: controladores de eventos, tiempos de espera, las devoluciones de llamada, etc. – ejecutar en el mismo hilo, una después de la otra.

    Por lo tanto usted no necesita ninguna sincronización en JavaScript. Cualquier pieza de código en JavaScript que se ejecutará por un único subproceso. ¿No es genial?

    Ver también

    así que en el anterior senario, si el usuario entra en la edición de las células,Todos los eventhandlers que son despedidos se ejecutan una después de la otra(no al mismo tiempo),incluso si se han iniciado de forma asincrónica!! A la derecha?
    correcto. Los eventos serán en la cola y disparó una después de la otra. Incluso los tiempos de espera programado para disparar al mismo tiempo en cola.
    Tomasz. me va a ayudar mucho.
    En primer lugar, ECMAScript no requiere de JS para ser ejecutado en un solo hilo. Segundo, setTimeout (), etc. se especifican mediante HTML5, donde está claramente definido que el controlador de hecho puede ejecutar en paralelo en un hilo: html.spec.whatwg.org/multipage/infrastructure.html#in-parallel

    OriginalEl autor Tomasz Nurkiewicz

Dejar respuesta

Please enter your comment!
Please enter your name here