Sveltejs Academy · Aula

Transmissão do servidor com +server.js

Emita blocos progressivamente de uma rota de API usando um ReadableStream.

Aula 3 de 413 etapas

Transmissão do servidor com +server.js é uma aula grátis de Sveltejs Academy no CoddyKit. Esta é a aula 3 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Sveltejs Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Sveltejs Academy inclui 4 aulas no total.

Fluxos enviados pelo servidor

Dentro de +server.js, retorne uma Response que envolva um ReadableStream.

Fluxo básico

Crie um fluxo que emita blocos ao longo do tempo.

export function GET() {
  const stream = new ReadableStream({
    async start(controller) {
      for (const chunk of source) {
        controller.enqueue(new TextEncoder().encode(chunk));
      }
      controller.close();
    }
  });
  return new Response(stream);
}

Tipo de conteúdo

Defina o tipo de conteúdo apropriado: text/plain, text/event-stream, application/json (NDJSON) etc.

Casos de uso

Geração de texto por IA, registros em tempo real, downloads de arquivos grandes e atualizações progressivas de dados.

Contrapressão

O fluxo limita a produção quando o consumidor está lento, evitando o crescimento excessivo da memória.

Consumo no cliente

Use response.body.getReader() no cliente para ler o fluxo.

Eventos enviados pelo servidor

Para enviar dados em uma única direção, do servidor para o cliente, SSE é uma ótima opção. Codifique os eventos como text/event-stream.

Alternativa com WebSockets

Para comunicação bidirecional, escolha WebSockets por meio de um servidor separado ou de um adaptador compatível.

Cancelamento

Trate o cancelamento do fluxo na função start para liberar recursos.

Suporte do adaptador

A maioria dos adaptadores oferece suporte à transmissão; consulte a documentação do seu adaptador para conhecer casos específicos.

Desempenho

A transmissão reduz o TTFB e permite que os clientes processem dados parciais mais cedo.

Verificação rápida

Qual classe de fluxo você usa em +server.js?

Revisão

Use ReadableStream em +server.js para obter respostas do servidor em blocos e com baixa latência.

Grátis para começar

Aprenda HTML com um tutor de IA — grátis

Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.

Cursos
41
Aulas
163

Perguntas Frequentes

A aula “Transmissão do servidor com +server.js” é grátis?

Sim — o texto completo de “Transmissão do servidor com +server.js” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Sveltejs Academy, atualize para CoddyKit PRO. O curso de Sveltejs Academy inclui 4 aulas no total.

O que vou aprender em “Transmissão do servidor com +server.js”?

Emita blocos progressivamente de uma rota de API usando um ReadableStream. Você pratica Sveltejs Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Sveltejs Academy?

Nenhuma experiência prévia é necessária. Sveltejs Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 4.

Quanto tempo leva a aula “Transmissão do servidor com +server.js”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Sveltejs Academy?

Sim. Cada aula de Sveltejs Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Transmissão de dados com promises em load
  2. Carregamento adiado e experiência semelhante a Suspense
  3. Transmissão do servidor com +server.js
  4. Hidratação progressiva
← Voltar para Sveltejs Academy