Stream Example

Response streaming with async generators.

StreamController.ts
StreamExample.tsx
1import { get, prefix } from 'vovk';
2
3type Token = { message: string };
4
5@prefix('stream')
6export default class StreamController {
7 @get('tokens', { cors: true })
8 static async *streamTokens() {
9 const tokens: Token[] = [
10 { message: 'Hello,' },
11 { message: ' World' },
12 { message: ' from' },
13 { message: ' Stream' },
14 { message: '!' },
15 ];
16
17 for (const token of tokens) {
18 yield token;
19 await new Promise((resolve) => setTimeout(resolve, 300));
20 }
21 }
22}
1import { get, prefix } from 'vovk';
2
3type Token = { message: string };
4
5@prefix('stream')
6export default class StreamController {
7 @get('tokens', { cors: true })
8 static async *streamTokens() {
9 const tokens: Token[] = [
10 { message: 'Hello,' },
11 { message: ' World' },
12 { message: ' from' },
13 { message: ' Stream' },
14 { message: '!' },
15 ];
16
17 for (const token of tokens) {
18 yield token;
19 await new Promise((resolve) => setTimeout(resolve, 300));
20 }
21 }
22}