AI SDK RSCreadStreamableValue

readStreamableValue

It is a function that helps you read the streamable value from the client that was originally created using createStreamableValue on the server.

Import

import { readStreamableValue } from "ai/rsc"

Example

app/actions.ts
async function generate() {
'use server';
const streamable = createStreamableValue();
streamable.update(1);
streamable.update(2);
streamable.done(3);
return streamable.value;
}
app/page.tsx
import { readStreamableValue } from 'ai/rsc';
export default function Page() {
const [generation, setGeneration] = useState('');
return (
<div>
<button
onClick={async () => {
const stream = await generate();
for await (const delta of readStreamableValue(stream)) {
setGeneration(generation => generation + delta);
}
}}
>
Generate
</button>
</div>
);
}

Parameters

stream:

StreamableValue
The streamable value to read from.

Response

It returns an async iterator that contains the values emitted by the streamable value.