diff options
author | 2022-12-05 11:35:34 -0800 | |
---|---|---|
committer | 2022-12-05 11:35:34 -0800 | |
commit | 0ea8de40871052842f2e342b4c452f6746691487 (patch) | |
tree | a4e1028f90a801324966172e47b9b20533e4ad7a /src/bun.js/builtins/js/ReadableStreamInternals.js | |
parent | 71293033474eea83c47b6c6948f991b1dc37ad22 (diff) | |
download | bun-0ea8de40871052842f2e342b4c452f6746691487.tar.gz bun-0ea8de40871052842f2e342b4c452f6746691487.tar.zst bun-0ea8de40871052842f2e342b4c452f6746691487.zip |
Make `console` an `AsyncIterable`
Diffstat (limited to 'src/bun.js/builtins/js/ReadableStreamInternals.js')
-rw-r--r-- | src/bun.js/builtins/js/ReadableStreamInternals.js | 51 |
1 files changed, 24 insertions, 27 deletions
diff --git a/src/bun.js/builtins/js/ReadableStreamInternals.js b/src/bun.js/builtins/js/ReadableStreamInternals.js index f317eeaec..ca7a1c355 100644 --- a/src/bun.js/builtins/js/ReadableStreamInternals.js +++ b/src/bun.js/builtins/js/ReadableStreamInternals.js @@ -2168,37 +2168,34 @@ function readableStreamDefineLazyIterators(prototype) { var ReadableStreamAsyncIterator = async function* ReadableStreamAsyncIterator(stream, preventCancel) { var reader = stream.getReader(); var deferredError; - try { - while (true) { - var done, value; - const firstResult = reader.readMany(); - if (@isPromise(firstResult)) { - const result = await firstResult; - done = result.done; - value = result.value; - } else { - done = firstResult.done; - value = firstResult.value; - } - - if (done) { - return; - } - yield* value; - } - } catch(e) { - deferredError = e; - } finally { - reader.releaseLock(); - - if (!preventCancel) { - stream.cancel(deferredError); + try { + while (true) { + var done, value; + const firstResult = reader.readMany(); + if (@isPromise(firstResult)) { + ({done, value} = await firstResult); + } else { + ({done, value} = firstResult); + } + + if (done) { + return; + } + yield* value; } + } catch(e) { + deferredError = e; + } finally { + reader.releaseLock(); - if (deferredError) { - throw deferredError; + if (!preventCancel) { + stream.cancel(deferredError); } + + if (deferredError) { + throw deferredError; } + } }; var createAsyncIterator = function asyncIterator() { return ReadableStreamAsyncIterator(this, false); |