You still need $.when. But instead, create an array of Deferreds (or promises) and then apply it to $.when:
fetchScripts:function() {
var base = this.url;
var defaults = {
type:'get',
cache:true
};
var libraries = [
'library/script-one.js',
'library/script-two.js',
'library/script-n.js'
];
var deferreds = $.map(libraries, function(current) {
var ajaxOptions = $.extend({ url: base + current }, defaults);
return $.ajax(ajaxOptions);
});
$.when.apply($, deferreds).then(function() {
console.log('All done');
});
}
Alternatively to extending the default settings, you could just use $.ajax(defaults).