Skip to content

Commit 2328125

Browse files
committed
Updating code
1 parent 95d971f commit 2328125

File tree

1 file changed

+13
-6
lines changed

1 file changed

+13
-6
lines changed

src/content/docs/durable-objects/examples/readable-stream.mdx

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -40,10 +40,11 @@ export class MyDurableObject extends DurableObject<Env> {
4040
async start(controller) {
4141
if (request.signal.aborted) {
4242
controller.close();
43+
abortController.abort();
4344
return;
4445
}
4546

46-
for await (const value of dataSource(AbortSignal.any([request.signal, abortController.signal]))) {
47+
for await (const value of dataSource(abortController.signal)) {
4748
controller.enqueue(new TextEncoder().encode(String(value)));
4849
}
4950
},
@@ -65,29 +66,35 @@ export default {
6566
async fetch(request, env, ctx): Promise<Response> {
6667
const id: DurableObjectId = env.MY_DURABLE_OBJECT.idFromName('my-id');
6768
const stub = env.MY_DURABLE_OBJECT.get(id);
68-
const response = await stub.fetch(request);
69+
const response = await stub.fetch(request, { ...request });
6970
if (!response.ok || !response.body) {
7071
return new Response('Invalid response', { status: 500 });
7172
}
7273

73-
const reader = response.body.getReader();
74+
const reader = response.body.pipeThrough(new TextDecoderStream()).getReader();
7475

75-
// Cancel the stream after 5 messages
76+
let data = [] as string[];
7677
let i = 0;
7778
while (true) {
79+
// Cancel the stream after 5 messages
7880
if (i > 5) {
7981
reader.cancel();
8082
break;
8183
}
8284
const { value, done } = await reader.read();
83-
console.log(`Got value ${new TextDecoder().decode(value)}`);
85+
86+
if (value) {
87+
console.log(`Got value ${value}`);
88+
data = [...data, value];
89+
}
90+
8491
if (done) {
8592
break;
8693
}
8794
i++;
8895
}
8996

90-
return new Response('Done', { status: 200 });
97+
return Response.json(data);
9198
},
9299
} satisfies ExportedHandler<Env>;
93100
```

0 commit comments

Comments
 (0)