diff --git a/lib/client/scene.js b/lib/client/scene.js index 4b7b392..60b7805 100644 --- a/lib/client/scene.js +++ b/lib/client/scene.js @@ -2317,7 +2317,7 @@ Scene.setMethod(function _setPageTitle(title) { * * @author Jelle De Loecker * @since 1.0.0 - * @version 2.3.15 + * @version 2.4.0 * * @param {Object} options * @param {Boolean} force Force a reload if already loaded? @@ -2347,11 +2347,29 @@ Scene.setMethod(function getScript(options, force) { let tasks = []; for (let entry of path) { - let task_pledge = that.getScript(entry, force); - if (task_pledge && !task_pledge.is_done) { + // If this is the first script, already start getting it now + if (!tasks.length) { + let task_pledge = that.getScript(entry, force); + + if (!task_pledge || task_pledge.is_done) { + continue; + } + tasks.push(task_pledge); + continue; } + + // Other scripts should be queued + tasks.push(next => { + let task_pledge = that.getScript(entry, force); + + if (!task_pledge || task_pledge.is_done) { + return next(); + } + + Classes.Pledge.Swift.done(task_pledge, next); + }); } if (!tasks.length) {