Transmissão do servidor com +server.js
Emita blocos progressivamente de uma rota de API usando um ReadableStream.
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.
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
- Transmissão de dados com promises em load
- Carregamento adiado e experiência semelhante a Suspense
- Transmissão do servidor com +server.js
- Hidratação progressiva