Question

J'ai quelques lignes de code que je souhaite exécuter de manière asynchrone en Javascript afin que cela ne ralentisse pas mon algorithme principal.Voir ce pseudo-code :

//main algorithm with critical code that should run as soon as possible
...
...
runInParallel(function(){
  //time consuming unimportant code to shows some progress feedback to user
  ...
}
//the rest of the time critical algorithm
...
...
runInParallel(function(){
  //time consuming unimportant code to shows some progress feedback to user
  ...
}
//and so on and so forth

J'ai cherché dans Stackoverflow comment écrire du code asynchrone en Javascript, mais les questions suivantes ne sont pas similaires aux miennes :

Je suppose que je peux utiliser des minuteries à cette fin.Tout ce que je veux, c'est le corps de la fonction runInParallel() qui exécute un code efficacement en parallèle avec mon algorithme principal avec une priorité inférieure si possible.N'importe qui?

Était-ce utile?

La solution

Javascript n'a pas de synchronisation/gestion des threads.Si vous souhaitez exécuter quelque chose de manière asynchrone, vous pouvez utiliser setTimeout combiné avec un rappel pour être averti lorsque la fonction est terminée.

 var asyncHandle = setTimeout(function () { asyncCode(); callback(); }, 10);

Le asyncHandle peut être utilisé pour annuler le délai d'attente avant l'appel de la fonction.

Autres conseils

Si vous ciblez les navigateurs de support HTML5, accédez à HTML5 web ouvriers .

Vous pouvez également essayer cette intéressante, mais assez ancienne compilateur JavaScript qui permet une langueextension à cette fin.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top