Reputation: 1155
Say I have the following array:
var array=['script1.js', 'script2.js','script3.js','script1.js']
How can I run through that array loading in each script one by one with the next one only being called after the previous one has been fully loaded and fired?
I wish to use JQuery's getScript function.
Would something like this suffice?
var i=0;
var id_key='file'+i;
function load_script(url){
$.getScript(url)
.done(i++; load_script(array[i]);
}
Upvotes: 1
Views: 186
Reputation: 388326
Try something like
var array = ['script1.js', 'script2.js', 'script3.js', 'script1.js'];
function load_scripts(array) {
if (!array || !array.length) {
return
}
$.getScript(array.shift(), function () {
load_scripts(array);
})
}
load_scripts(array)
Demo: Fiddle
Upvotes: 3
Reputation: 1396
var i=1;
var id_key='file'+i;
function load_script(url){
$.getScript(url)
.done(
function(data){
switch(i){
case 1://do blah blah
case 2://do blah blah
}
i++;
if(i<=array.length){
load_script(array[i])
}
});
}
load_script(array[i]);
Upvotes: 1