Streaming dal server con +server.js
Emetta progressivamente blocchi da una route API usando un ReadableStream.
Streaming dal server con +server.js è una lezione Sveltejs Academy gratuita su CoddyKit. Questa è la lezione 3 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Sveltejs Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Sveltejs Academy include 4 lezioni in totale.
Stream inviati dal server
All'interno di +server.js, restituisca una Response che avvolge un ReadableStream.
Stream di base
Costruisca uno stream che emetta blocchi nel 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 di contenuto
Imposti il tipo di contenuto appropriato: text/plain, text/event-stream, application/json (NDJSON) e così via.
Casi d'uso
Generazione di testo tramite AI, log in tempo reale, download di file di grandi dimensioni, aggiornamenti progressivi dei dati.
Backpressure
Lo stream limita la produzione quando il consumer è lento, evitando un consumo eccessivo di memoria.
Utilizzo sul client
Utilizzi response.body.getReader() sul client per leggere lo stream.
Server-Sent Events
Per l'invio unidirezionale dal server al client, SSE è una soluzione ideale. Codifichi gli eventi come text/event-stream.
Alternativa: WebSockets
Per la comunicazione bidirezionale, scelga WebSockets tramite un server separato o un adapter che li supporti.
Annullamento
Gestisca l'annullamento dello stream nella funzione start per liberare le risorse.
Supporto degli adapter
La maggior parte degli adapter supporta lo streaming; consulti la documentazione del proprio adapter per i casi particolari.
Prestazioni
Lo streaming riduce il TTFB e consente ai client di elaborare prima i dati parziali.
Verifica rapida
Quale classe stream si utilizza in +server.js?
Riepilogo
Utilizzi ReadableStream in +server.js per risposte del server suddivise in blocchi e a bassa latenza.
Impara HTML con un tutor IA — gratis
Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.
- Corsi
- 41
- Lezioni
- 163
Domande Frequenti
La lezione «Streaming dal server con +server.js» è gratuita?
Sì — il testo completo di «Streaming dal server con +server.js» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Sveltejs Academy, passa a CoddyKit PRO. Il corso Sveltejs Academy include 4 lezioni in totale.
Cosa imparerò in «Streaming dal server con +server.js»?
Emetta progressivamente blocchi da una route API usando un ReadableStream. Eserciti Sveltejs Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Sveltejs Academy?
Non è richiesta alcuna esperienza precedente. Sveltejs Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 4.
Quanto tempo richiede la lezione «Streaming dal server con +server.js»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Sveltejs Academy?
Sì. Ogni lezione Sveltejs Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Streaming dei dati con le Promise in load
- Caricamento differito e UX simile a Suspense
- Streaming dal server con +server.js
- Hydration progressiva