Merge pull request #12144 from Snuffleupagus/uncaught-promise-AbortException

Prevent `Uncaught (in promise) AbortException` when running the unit-tests
This commit is contained in:
Tim van der Meij 2020-08-01 00:22:10 +02:00 committed by GitHub
commit 0d20a2b7b4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 30 additions and 10 deletions

View File

@ -410,18 +410,24 @@ class ChunkedStreamManager {
requestIds.push(requestId);
}
if (!chunksToRequest.length) {
return capability.promise;
}
if (chunksToRequest.length > 0) {
const groupedChunksToRequest = this.groupChunks(chunksToRequest);
for (const groupedChunk of groupedChunksToRequest) {
const begin = groupedChunk.beginChunk * this.chunkSize;
const end = Math.min(groupedChunk.endChunk * this.chunkSize, this.length);
const end = Math.min(
groupedChunk.endChunk * this.chunkSize,
this.length
);
this.sendRequest(begin, end);
}
}
return capability.promise;
return capability.promise.catch(reason => {
if (this.aborted) {
return; // Ignoring any pending requests after abort.
}
throw reason;
});
}
getStream() {

View File

@ -2048,6 +2048,13 @@ class WorkerTransport {
sink.onCancel = reason => {
this._fullReader.cancel(reason);
sink.ready.catch(readyReason => {
if (this.destroyed) {
return; // Ignore any pending requests if the worker was terminated.
}
throw readyReason;
});
};
});
@ -2127,6 +2134,13 @@ class WorkerTransport {
sink.onCancel = reason => {
rangeReader.cancel(reason);
sink.ready.catch(readyReason => {
if (this.destroyed) {
return; // Ignore any pending requests if the worker was terminated.
}
throw readyReason;
});
};
});