Contoh dalam artikel ini menerangkan kaedah pemuatan skrip tak segerak dengan fungsi panggil balik dalam JavaScript. Kongsikan dengan semua orang untuk rujukan anda. Kaedah pelaksanaan khusus adalah seperti berikut:
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); } }
Demonstrasi penggunaan
var l = new Loader(); l.require([ "example-script-1.js", "example-script-2.js"], function() { // Callback console.log('All Scripts Loaded'); });
Saya harap artikel ini akan membantu reka bentuk pengaturcaraan JavaScript semua orang.