Skip to content

Commit 63d312c

Browse files
committed
Delay debug channel messages
1 parent 242860c commit 63d312c

File tree

1 file changed

+35
-1
lines changed

1 file changed

+35
-1
lines changed

fixtures/flight/src/index.js

Lines changed: 35 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,40 @@ function findSourceMapURL(fileName) {
1414
);
1515
}
1616

17+
function createDelayedStream(
18+
stream: ReadableStream<Uint8Array>
19+
): ReadableStream<Uint8Array> {
20+
return new ReadableStream({
21+
async start(controller) {
22+
const reader = stream.getReader();
23+
24+
try {
25+
while (true) {
26+
const {done, value} = await reader.read();
27+
if (done) {
28+
if (!controller.desiredSize === null) {
29+
controller.close();
30+
}
31+
break;
32+
} else {
33+
// Artificially delay between enqueuing chunks.
34+
await new Promise(resolve => setTimeout(resolve, 10));
35+
if (controller.desiredSize !== null) {
36+
controller.enqueue(value);
37+
}
38+
}
39+
}
40+
} catch (error) {
41+
if (controller.desiredSize !== null) {
42+
controller.error(error);
43+
}
44+
} finally {
45+
reader.releaseLock();
46+
}
47+
},
48+
});
49+
}
50+
1751
async function createWebSocketStream(url) {
1852
const ws = new WebSocket(url);
1953
ws.binaryType = 'arraybuffer';
@@ -49,7 +83,7 @@ async function createWebSocketStream(url) {
4983
},
5084
});
5185

52-
return {readable, writable};
86+
return {readable: createDelayedStream(readable), writable};
5387
}
5488

5589
let updateRoot;

0 commit comments

Comments
 (0)