Unclosed Streams

Unclosed Streams (닫히지 않은 스트림)

가끔 스트림을 제대로 닫지 않으면 예상치 못한 동작이 생길 수 있어요. 스트림을 닫지 않았을 때 흔히 겪는 문제와 해결책을 정리해 드릴게요.

출처: 문서

본문

문제 (Issue)

스트리머블 UI(streamable UI)의 업데이트가 느릴 수 있습니다.

해결책 (Solution)

이 문제는 createStreamableUI로 스트리머블 UI를 만들고 스트림을 닫지 않았을 때 발생합니다. 이를 해결하려면 .done() 메서드를 호출해서 스트림을 닫아야 합니다. 그래야 스트림이 제대로 닫힙니다.

import { createStreamableUI } from '@ai-sdk/rsc';

const submitMessage = async () => {
  'use server';

  const stream = createStreamableUI('1');

  stream.update('2');
  stream.append('3');
  stream.done('4'); // [!code ++]

  return stream.value;
};

더 알아보기 (Learn more)