Estoy cargando código (funciones) dinámicamente desde un servidor y ejecutándolo como código JavaScript, luego lo almacena en una matriz y se ejecuta. Todos estos fragmentos de código se deben ejecutar exactamente una vez. El psuedocode sigue como tal¿Hay operaciones atómicas de javascript para tratar con la naturaleza asincrónica de Ajax?
function fetch(foo){
if (foo in fooArray){
//Do Nothing
else{
//Fetch foo via Ajax and execute foo()
}
}
El problema es mucho más complejo, pero en esencia si ejecuta el siguiente comando
fetch('someFunctionName');
fetch('someFunctionName');
fetch('someFunctionName');
fetch('someFunctionName');
los cuatro ejecutará la if (foo in fooArray)
y asumir que no está en la matriz, y los cuatro procederán a buscar el código y ejecutarlo. Recuerdo que en el día aprendiendo sobre semáforos y mutex, ¿hay cosas para javascript?
Aparentemente es posible, ya que jQuery hace esto: http://stackoverflow.com/questions/7131991/asynchronous-and- synchronous-terms – Mchl
He escrito un blog sobre esto [Por qué no hay una herramienta de simultaneidad en javascript] (http://uzairfarooq.github.io/why-no-concurrency-control-tool-in-javascript/) –
el enlace es roto, debe ser: http://blog.uzairfarooq.com/why-no-concurrency-control-tool-in-javascript –