createStreamableValue — 서버에서 클라이언트로 값 스트리밍

createStreamableValue — 서버에서 클라이언트로 값 스트리밍

createStreamableValue는 서버에서 클라이언트로 값을 보내는 스트림을 만드는 함수예요. 값은 직렬화 가능한(serializable) 모든 데이터가 될 수 있어요.

주의: AI SDK RSC는 현재 실험적(experimental)이에요. 프로덕션에서는 AI SDK UI를 사용하는 걸 권장해요. RSC에서 UI로 마이그레이션하는 방법은 마이그레이션 가이드를 참고하세요.

출처: 문서

본문

서버에서 클라이언트로 값을 보내는 스트림을 만들어요. 값은 직렬화 가능한 모든 데이터가 될 수 있어요.

Import

import { createStreamableValue } from "@ai-sdk/rsc"

API 시그니처

파라미터

  • value: any — RSC가 지원하는 모든 데이터 (예: JSON).

반환값

  • value: StreamableValue — 스트리밍 값. Server Action에서 반환되어 클라이언트에서 받을 수 있어요. 스트리밍된 값을 읽으려면 readStreamableValue 또는 useStreamableValue API를 사용해요.

메서드

  • update: (value: T) => StreamableValueWrapper — 현재 값을 새 값으로 업데이트해요.
  • append: (value: T) => StreamableValueWrapper — 현재 값에 델타 문자열을 추가해요. 이를 사용하려면 스트리밍 값의 현재 값이 문자열이어야 해요.
  • done: (value?: T) => StreamableValueWrapper — 값을 최종 확정해요. 파라미터 없이 호출하거나 최종 상태로 새 값을 넘겨 호출할 수 있어요. 호출한 뒤에는 값을 더 이상 업데이트하거나 추가할 수 없어요. 이 메서드는 항상 호출해야 하며, 그렇지 않으면 응답이 로딩 상태에 갇히게 돼요.
  • error: (error: any) => StreamableValueWrapper — 값 스트림에 에러가 있음을 알려요. readStreamableValue 또는 useStreamableValue로 소비할 때 클라이언트 쪽에서 던져져요.

더 알아보기 (Learn more)