*
* @private
* @param {string} src URL of the script
- * @param {string} [moduleName] Name of currently executing module
- * @return {jQuery.Promise}
+ * @param {string} moduleName Name of currently executing module
+ * @param {Function} callback Callback to run after addScript() resolution
*/
- function queueModuleScript( src, moduleName ) {
- var r = $.Deferred();
-
+ function queueModuleScript( src, moduleName, callback ) {
pendingRequests.push( function () {
if ( moduleName && hasOwn.call( registry, moduleName ) ) {
// Emulate runScript() part of execute()
// avoid leakage to unrelated code. 'require' should be kept, however,
// as asynchronous access to 'require' is allowed and expected. (T144879)
delete window.module;
- r.resolve();
-
+ callback();
// Start the next one (if any)
if ( pendingRequests[ 0 ] ) {
pendingRequests.shift()();
handlingPendingRequests = true;
pendingRequests.shift()();
}
- return r.promise();
}
/**
return;
}
- queueModuleScript( arr[ i ], module ).always( function () {
+ queueModuleScript( arr[ i ], module, function () {
nestedAddScript( arr, callback, i + 1 );
} );
};