Asynchrone la programmation est légèrement plus compliqué parce que la conséquence d'une demande est encapsulée dans une fonction au lieu de suivre l'énoncé de la demande. Mais le comportement en temps réel que le expériences des utilisateurs peut être significativement meilleur parce qu'ils ne verront pas un serveur ou un réseau lent faire en sorte que le navigateur se comporte comme s'il avait planté. navigateur se comporte comme s'il avait planté. Synchrone la programmation est irrespectueux et ne devrait pas être employé dans les applications qui sont utilisées par les gens.
Douglas Crockford ( Blog YUI )
Très bien, attachez vos sièges, parce que ça va être un voyage mouvementé. De plus en plus de personnes posent des questions sur le chargement dynamique de scripts via javascript, cela semble être un sujet brûlant.
Les principales raisons de cette popularité sont les suivantes :
- modularité côté client
- une gestion plus facile des dépendances
- traitement des erreurs
- avantages de la performance
À propos de modularité La gestion des dépendances côté client : il est évident que la gestion des dépendances côté client doit être gérée directement du côté client. Si un certain objet, module ou bibliothèque est nécessaire, il suffit de le demander et de le charger dynamiquement.
Traitement des erreurs Si une ressource échoue, nous avons toujours la possibilité de bloquer uniquement les parties qui dépendent du script affecté, ou peut-être même de faire un nouvel essai avec un certain retard.
Performance est devenu un avantage concurrentiel entre les sites web, c'est maintenant un facteur de classement dans les recherches. Ce que les scripts dynamiques peuvent faire, c'est imiter le comportement asynchrone, par opposition à la façon dont les navigateurs gèrent les scripts, qui est bloquante par défaut. Bloc de scripts d'autres ressources, bloc de scripts la poursuite de l'analyse du document HTML, bloc de scripts l'interface utilisateur. Désormais, avec les balises dynamiques script et leurs alternatives inter-navigateurs, vous pouvez effectuer de véritables requêtes asynchrones et exécuter le code dépendant uniquement lorsqu'il est disponible. Vos scripts se chargeront en parallèle, même avec d'autres ressources, et le rendu sera impeccable.
La raison pour laquelle certaines personnes s'en tiennent au script synchrone est qu'elles y sont habituées. Ils pensent que c'est la méthode par défaut, que c'est la méthode la plus facile, et certains peuvent même penser que c'est la seule méthode.
Mais la seule chose dont nous devrions nous préoccuper lorsqu'il s'agit de prendre une décision concernant la conception d'une application, c'est de la expérience de l'utilisateur final . Et dans ce domaine, l'asynchrone ne peut être battu. L'utilisateur obtient réponses immédiates (ou dire des promesses), et une promesse est toujours mieux que rien. Un écran vide fait peur aux gens. Les développeurs ne devraient pas être paresseux pour améliorer la qualité de leurs produits. performance perçue .
Et enfin, quelques mots sur le côté sale. Ce que vous devez faire pour que cela fonctionne sur tous les navigateurs :
- apprendre à penser de manière asynchrone
- organiser votre code pour qu'il soit modulaire
- organiser votre code pour bien gérer les erreurs et les cas limites
- améliorer progressivement
- toujours veiller à la bonne quantité de retour d'information
0 votes
Je n'ai pas encore trouvé comment faire des références à la même valeur sans créer un tableau (pour le comptage). Sinon, je pense que c'est explicite (quand tout est chargé),
eval()
chaque fichier dans l'ordre donné, sinon il suffit de stocker la réponse).