Je recherche des scénarios du monde réel pour utiliser l' API Web Workers .
Réponses
Trop de publicités?John Resig (de jQuery fame) a un tas d'exemples intéressants de l'utilisation de web de travailleurs d'ici - jeux, des graphiques, des crypto.
Une autre utilisation est Web I/O - en d'autres termes, les bureaux de vote Url en arrière-plan. De cette façon, vous n'avez pas bloquer l'INTERFACE utilisateur d'attente pour les résultats des élections.
Une autre utilisation pratique: dans Bespin, ils utilisent des Web workers pour faire de la coloration syntaxique, que vous n'auriez pas envie de bloquer votre édition de code, tandis que vous utilisez l'application.
-
À partir de Mozilla: Un moyen de travailleurs sont utiles pour permettre à votre code pour effectuer le processeur de calcul intensif sans bloquer le thread d'interface utilisateur.
Un exemple concret, imaginez une application qui dispose d'une grande table de #s (c'est le vrai monde, ENTRE - prises à partir d'une application, j'ai programmé ~il y a 2 ans). Vous pouvez modifier un # dans une table via inpput champ et un tas d'autres numéros dans les différentes colonnes re-calculée dans une procédure assez intensive.
L'ancien flux de travail a été: Changer le #. Aller prendre un café tout en JavaScript croque par le biais de changements pour les autres numéros et la page web ne répond pas pendant 3 minutes après j'ai optimisé à l'enfer et au dos. De Revenir avec un café. Changer un deuxième #. Répéter de nombreuses fois. Cliquez sur le bouton ENREGISTRER.
Le nouveau flux de travail avec les travailleurs pourraient être: Changer le #. Obtenez un message d'état indiquant que quelque chose est en train d'être recalculé, mais vous pouvez modifier d'autres #s. Changement plus s#. Lorsque le fait de changer, attendez jusqu'à ce statut passe à "tous les calculs terminée, vous pouvez maintenant consulter la finale #s et sauver".
Je les ai utilisés pour envoyer de plus grandes quantités de données du navigateur au serveur. Évidemment, vous pouvez le faire avec des appels AJAX normaux, mais si cela prend l’une des précieuses connexions par nom d’hôte. De même, si l'utilisateur effectue une transition de page au cours de ce processus (par exemple, il clique sur un lien), vos objets JavaScript de la page précédente disparaissent et vous ne pouvez pas traiter les rappels. Lorsqu'un travailleur Web est utilisé, cette activité se déroule hors bande. Vous avez ainsi une meilleure garantie de sa réalisation.
Un cas d’usage plus :
Il s’agit de créer et maintenir l’index dans le travailleur du web et interrogeant pour une recherche efficace. Plus de détails ici.