Browse Source

Merge pull request #5140 from yurydelendik/fetchAsync

Removes some bind() calls from fetchAsync
Jonas Jenwald 11 years ago
parent
commit
179bb2e136
  1. 17
      src/core/obj.js

17
src/core/obj.js

@ -583,7 +583,7 @@ var Catalog = (function CatalogClosure() {
} }
nodesToVisit.push(obj); nodesToVisit.push(obj);
next(); next();
}.bind(this), capability.reject.bind(capability)); }, capability.reject);
return; return;
} }
@ -1287,20 +1287,21 @@ var XRef = (function XRefClosure() {
}, },
fetchAsync: function XRef_fetchAsync(ref, suppressEncryption) { fetchAsync: function XRef_fetchAsync(ref, suppressEncryption) {
return new Promise(function (resolve, reject) { var streamManager = this.stream.manager;
var tryFetch = function () { var xref = this;
return new Promise(function tryFetch(resolve, reject) {
try { try {
resolve(this.fetch(ref, suppressEncryption)); resolve(xref.fetch(ref, suppressEncryption));
} catch (e) { } catch (e) {
if (e instanceof MissingDataException) { if (e instanceof MissingDataException) {
this.stream.manager.requestRange(e.begin, e.end, tryFetch); streamManager.requestRange(e.begin, e.end, function () {
tryFetch(resolve, reject);
});
return; return;
} }
reject(e); reject(e);
} }
}.bind(this); });
tryFetch();
}.bind(this));
}, },
getCatalogObj: function XRef_getCatalogObj() { getCatalogObj: function XRef_getCatalogObj() {

Loading…
Cancel
Save