Pour les modules synchrones, le module doit être chargé en mémoire au préalable.
Pour les modules asynchrones, par exemple, son implémentation de requirejs repose sur le front-end et est exécutée à l'avance. N'est-il pas également chargé en mémoire à l'avance ? Alors pourquoi est-il dit asynchrone ? Après avoir beaucoup lu sur AMD et CMD, je ne comprends tout simplement pas la différence entre le chargement de module synchrone et le chargement de module asynchrone.
Ce mécanisme n'a pas grand-chose à voir avec la [mémoire] et peut être davantage compris comme [le timing du téléchargement du script].
La particularité du front-end est que la taille et le temps de téléchargement du fichier script affecteront directement les performances de la page. Dans la spécification du chargement synchrone, toutes les dépendances doivent être téléchargées avant que le script puisse être exécuté.
Dans la spécification du chargement asynchrone, le script requis sera chargé uniquement lorsque le code sera exécuté à l'emplacement requis. Par exemple, dans une énorme application d'une seule page, le script sur la page d'accueil peut être très léger, et lors de la saisie d'une certaine page de fonction, les modules requis peuvent être chargés de manière asynchrone, ce qui améliorera grandement les performances.
Le chargement asynchrone de requirejs ajoute essentiellement le <script> qui doit être chargé de manière asynchrone dans le <head>. Ces éléments <script> Surveillez ensuite l'état d'achèvement du chargement de chaque script via onload pour réaliser l'ordre de chargement séquentiel de plusieurs scripts avec dépendances. Vous pouvez utiliser async et onload pour implémenter des fonctions de chargement asynchrones simples, mais l'implémentation de fonctions telles que requirejs demande encore beaucoup d'efforts.