Maison >interface Web >js tutoriel >jQuery+deferred implémente le chargement séquentiel asynchrone des fichiers JS

jQuery+deferred implémente le chargement séquentiel asynchrone des fichiers JS

php中世界最好的语言
php中世界最好的语言original
2018-04-23 15:11:251110parcourir

Cette fois, je vais vous présenter jQuery+deferred pour implémenter le chargement séquentiel asynchrone des fichiers JS. Quelles sont les précautions pour jQuery+deferred pour implémenter le chargement séquentiel asynchrone des fichiers JS. , jetons un coup d'oeil.

J'ai lu l'article de Ruan Yifeng Explication détaillée de l'objet différé de jQuery il y a quelque temps, et j'ai acquis une certaine compréhension de l'utilisation de différé dans jQuery. Aujourd'hui, j'ai vu un article dans le jardin : L'expérience ratée de la reconstruction du front JS. -end framework (Au fait, ces codes morts me manquent), j'ai donc partagé une solution que j'ai écrite auparavant et qui utilise le différé de jQuery pour charger les fichiers JS de manière asynchrone dans l'ordre. Les corrections sont les bienvenues.

Si vous ne comprenez pas encore le différé dans jQuery, je vous recommande fortement de lire l'explication détaillée de Ruan Yifeng sur l'objet différé de jQuery.
Le code pour charger le fichier JS est le suivant :

/* 
Loading 
JavaScript
 Asynchronously 
loadScript.load(["a.js", "b.js"]); 
*/ 
var loadScript = (function() { 
var loadOne = function (url) { 
var dtd = $.Deferred(); 
var node = 
document
.createElement('script'); 
node.type = "text/javascript"; 
var onload = function(){ 
dtd.resolve(); 
}; 
$(node).load(onload).bind('readystatechange', function(){ 
if (node.readyState == 'loaded'){ 
onload(); 
} 
}); 
document.
getElementsByTagName
('head')[0].appendChild(node); 
node.src = url; 
return dtd.promise(); 
}; 
var load = function(urls) { 
if(!$.isArray(urls)) { 
return load([urls]); 
} 
var ret = []; 
for (var i = 0; i < urls.length; i++) { 
ret[i] = loadOne(urls[i]); 
}; 
return $.when.apply($, ret); 
} 
return { 
load: load 
}; 
})();

Je pense que vous maîtrisez la méthode après avoir lu le cas dans cet article. Pour des informations plus intéressantes, veuillez prêter attention aux autres articles connexes. sur le site php chinois !

Lecture recommandée :

Explication détaillée des étapes de liaison à trois niveaux de jquery+xml

Utiliser le plug jquery- dans ajaxupload pour télécharger des fichiers

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn