var request;
var response;
+ if (responses.error) {
+ // There was an error with the request as a whole.
+ // We need to reject each promise.
+ // Unfortunately this may lead to duplicate dialogues, but each Promise must be rejected.
+ for (; i < requests.length; i++) {
+ request = requests[i];
+ request.deferred.reject(responses);
+ }
+
+ return;
+ }
+
for (i = 0; i < requests.length; i++) {
request = requests[i];
* @private
* @param {jqXHR} jqXHR The ajax object.
* @param {string} textStatus The status string.
+ * @param {Error|Object} exception The error thrown.
*/
- var requestFail = function(jqXHR, textStatus) {
+ var requestFail = function(jqXHR, textStatus, exception) {
// Reject all the promises.
var requests = this;
if (unloading) {
// No need to trigger an error because we are already navigating.
- Log.error("Page unload: " + textStatus);
+ Log.error("Page unloaded.");
+ Log.error(exception);
} else {
- request.deferred.reject(textStatus);
+ request.deferred.reject(exception);
}
}
};