Skip to content

Commit 9358f06

Browse files
authored
perf (fetch): use less promises for ReadableStream (#4457)
* perf: use less promises for ReadableStream * remove test
1 parent f2d6524 commit 9358f06

2 files changed

Lines changed: 7 additions & 10 deletions

File tree

lib/core/util.js

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -609,12 +609,11 @@ function ReadableStreamFrom (iterable) {
609609
let iterator
610610
return new ReadableStream(
611611
{
612-
async start () {
612+
start () {
613613
iterator = iterable[Symbol.asyncIterator]()
614614
},
615615
pull (controller) {
616-
async function pull () {
617-
const { done, value } = await iterator.next()
616+
return iterator.next().then(({ done, value }) => {
618617
if (done) {
619618
queueMicrotask(() => {
620619
controller.close()
@@ -625,15 +624,13 @@ function ReadableStreamFrom (iterable) {
625624
if (buf.byteLength) {
626625
controller.enqueue(new Uint8Array(buf))
627626
} else {
628-
return await pull()
627+
return this.pull(controller)
629628
}
630629
}
631-
}
632-
633-
return pull()
630+
})
634631
},
635-
async cancel () {
636-
await iterator.return()
632+
cancel () {
633+
return iterator.return()
637634
},
638635
type: 'bytes'
639636
}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
'use strict'
22

3-
const { test } = require('node:test')
43
const { deepStrictEqual } = require('node:assert')
4+
const { test } = require('node:test')
55
const { Response } = require('../..')
66

77
// https://github.com/nodejs/node/issues/56474

0 commit comments

Comments
 (0)