mirror of
https://github.com/zen-browser/pdf.js.git
synced 2025-07-09 09:45:42 +02:00
Merge branch 'fallback-fix'
Conflicts: src/core.js
This commit is contained in:
commit
cddb5ea0bb
3 changed files with 30 additions and 15 deletions
25
src/util.js
25
src/util.js
|
@ -694,16 +694,26 @@ var Promise = PDFJS.Promise = (function PromiseClosure() {
|
|||
deferred.resolve(results);
|
||||
return deferred;
|
||||
}
|
||||
function reject(reason) {
|
||||
if (deferred.isRejected) {
|
||||
return;
|
||||
}
|
||||
results = [];
|
||||
deferred.reject(reason);
|
||||
}
|
||||
for (var i = 0, ii = promises.length; i < ii; ++i) {
|
||||
var promise = promises[i];
|
||||
promise.then((function(i) {
|
||||
return function(value) {
|
||||
if (deferred.isRejected) {
|
||||
return;
|
||||
}
|
||||
results[i] = value;
|
||||
unresolved--;
|
||||
if (unresolved === 0)
|
||||
deferred.resolve(results);
|
||||
};
|
||||
})(i));
|
||||
})(i), reject);
|
||||
}
|
||||
return deferred;
|
||||
};
|
||||
|
@ -784,12 +794,8 @@ var Promise = PDFJS.Promise = (function PromiseClosure() {
|
|||
},
|
||||
|
||||
then: function Promise_then(callback, errback, progressback) {
|
||||
if (!callback) {
|
||||
error('Requiring callback' + this.name);
|
||||
}
|
||||
|
||||
// If the promise is already resolved, call the callback directly.
|
||||
if (this.isResolved) {
|
||||
if (this.isResolved && callback) {
|
||||
var data = this.data;
|
||||
callback.call(null, data);
|
||||
} else if (this.isRejected && errback) {
|
||||
|
@ -797,9 +803,12 @@ var Promise = PDFJS.Promise = (function PromiseClosure() {
|
|||
var exception = this.exception;
|
||||
errback.call(null, error, exception);
|
||||
} else {
|
||||
this.callbacks.push(callback);
|
||||
if (errback)
|
||||
if (callback) {
|
||||
this.callbacks.push(callback);
|
||||
}
|
||||
if (errback) {
|
||||
this.errbacks.push(errback);
|
||||
}
|
||||
}
|
||||
|
||||
if (progressback)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue