Я пишу движок, который требует использования getScript довольно широко. Я просто включил его в свою собственную функцию, для удобства использования, но теперь мне нужно убедиться, что сама функция является синхронной. К сожалению, я не могу заставить getScript ждать, пока загрузится script, на самом деле закончит загрузку, прежде чем продолжить. Я даже пытался установить для jQuery ajax asynch свойство false, прежде чем делать вызов. Я думаю об использовании протокола jQuery when/done, но я, похоже, не могу обойти логику размещения его внутри функции и сделать эту функцию синхронной. Любая помощь будет очень оценена!
function loadScript(script){
//Unrelated stuff here!!!
$.when(
$.getScript(script,function(){
//Unrelated stuff here!!!
})).done(function(){
//Wait until done, then finish function
});
}
Код цикла (по запросу):
for (var i in divlist){
switch($("#"+divlist[i]).css({"background-color"})){
case #FFF:
loadScript(scriptlist[0],divlist[i]);
break;
case #000:
loadScript(scriptlist[2],divlist[i]);
break;
case #333:
loadScript(scriptlist[3],divlist[i]);
break;
case #777:
loadScript(scriptlist[4],divlist[i]);
break;
}
}