Sto caricando dinamicamente il codice (funzioni) da un server ed eseguendolo come codice javascript, quindi memorizzandolo in un array ed eseguendolo. Tutti questi snippet di codice devono essere eseguiti esattamente una volta. Il psuedocodarlo segue come taleEsistono operazioni javascript atomiche per gestire la natura asincrona di Ajax?
function fetch(foo){
if (foo in fooArray){
//Do Nothing
else{
//Fetch foo via Ajax and execute foo()
}
}
il problema è molto più complessa, ma essenzialmente se usa il comando sotto
fetch('someFunctionName');
fetch('someFunctionName');
fetch('someFunctionName');
fetch('someFunctionName');
tutti e quattro eseguirà la if (foo in fooArray)
ed assumere che non è nella matrice, e tutti e quattro procederanno a recuperare il codice ed eseguirlo. Ricordo di nuovo durante la giornata di apprendimento di semafori e mutex, ci sono cose del genere per javascript.
quanto pare è possibile, dal momento che jQuery fa questo: http://stackoverflow.com/questions/7131991/asynchronous-and- synchronous-terms – Mchl
Ho scritto un blog a riguardo [Perché nessuno strumento di concorrenza in javascript] (http://uzairfarooq.github.io/why-no-concurrency-control-tool-in-javascript/) –
il collegamento è broken, dovrebbe essere: http://blog.uzairfarooq.com/why-no-concurrency-control-tool-in-javascript –