The example in this article describes the asynchronous script loading method with callback function in JavaScript. Share it with everyone for your reference. The specific implementation method is as follows:
var Loader = function () { } Loader.prototype = { require: function (scripts, callback) { this.loadCount = 0; this.totalRequired = scripts.length; this.callback = callback; for (var i = 0; i < scripts.length; i++) { this.writeScript(scripts[i]); } }, loaded: function (evt) { this.loadCount++; if (this.loadCount == this.totalRequired && typeof this.callback == 'function') this.callback.call(); }, writeScript: function (src) { var self = this; var s = document.createElement('script'); s.type = "text/javascript"; s.async = true; s.src = src; s.addEventListener('load', function (e) { self.loaded(e); }, false); var head = document.getElementsByTagName('head')[0]; head.appendChild(s); } }
Usage demonstration
var l = new Loader(); l.require([ "example-script-1.js", "example-script-2.js"], function() { // Callback console.log('All Scripts Loaded'); });
I hope this article will be helpful to everyone’s JavaScript programming design.