From 323d3d246a58911775fe078949c1ed5fd310b0e4 Mon Sep 17 00:00:00 2001 From: Jonas Jenwald Date: Thu, 9 Feb 2023 15:33:06 +0100 Subject: [PATCH] Re-factor the `readChunk` function in `ChunkedStreamManager.sendRequest` Move the `done` branch to the top of the function, similar to how we usually format things when `ReadableStream`s are used. --- src/core/chunked_stream.js | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/core/chunked_stream.js b/src/core/chunked_stream.js index 28ed97855..6e85352d8 100644 --- a/src/core/chunked_stream.js +++ b/src/core/chunked_stream.js @@ -291,21 +291,21 @@ class ChunkedStreamManager { let chunks = [], loaded = 0; return new Promise((resolve, reject) => { - const readChunk = chunk => { + const readChunk = ({ value, done }) => { try { - if (!chunk.done) { - const data = chunk.value; - chunks.push(data); - loaded += arrayByteLength(data); - if (rangeReader.isStreamingSupported) { - this.onProgress({ loaded }); - } - rangeReader.read().then(readChunk, reject); + if (done) { + const chunkData = arraysToBytes(chunks); + chunks = null; + resolve(chunkData); return; } - const chunkData = arraysToBytes(chunks); - chunks = null; - resolve(chunkData); + + chunks.push(value); + loaded += arrayByteLength(value); + if (rangeReader.isStreamingSupported) { + this.onProgress({ loaded }); + } + rangeReader.read().then(readChunk, reject); } catch (e) { reject(e); }