Merge pull request #12144 from Snuffleupagus/uncaught-promise-AbortException
Prevent `Uncaught (in promise) AbortException` when running the unit-tests
This commit is contained in:
		
						commit
						0d20a2b7b4
					
				| @ -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() { | ||||
|  | ||||
| @ -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; | ||||
|         }); | ||||
|       }; | ||||
|     }); | ||||
| 
 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user