Sveltejs Academy · Lezione

Streaming dal server con +server.js

Emetta progressivamente blocchi da una route API usando un ReadableStream.

Lezione 3 di 413 passaggi

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.

Gratis per iniziare

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

  1. Streaming dei dati con le Promise in load
  2. Caricamento differito e UX simile a Suspense
  3. Streaming dal server con +server.js
  4. Hydration progressiva
← Torna a Sveltejs Academy