jquery $.ajax does not return standard promises, so you should not use Promise.all with them (although you can), you can use $.when , not jquery. And instead of listening to failure or success on every deferred / promise, you can listen all the time with $.when
var xhr1 = $.getJSON('chapters.json'); var xhr2 = $.getJSON('chapters.json'); var xhr3 = $.getJSON('chapters.json'); $.when(xhr1, xhr2, xhr1) .done(function(response1, response2, response3){ }) .fail(function(data, textStatus, jqXHR){
(Code runs correctly in the latest Firefox Nightly, but not in Chrome 47)
the reason that it doesnโt work in chrome 47 and works with Firefox Nightly is that the ES6 class es is not yet fully supported in chrome state (it is now under the flag of the chrome://flags/#enable-javascript-harmony function in chrome 47)
source share