Streaming con ReadableStream
Transmita progresivamente respuestas grandes mediante la API Web Streams en +server.js
Streaming con ReadableStream es una lección gratuita de Sveltejs Academy en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Sveltejs Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Sveltejs Academy incluye 4 lecciones en total.
Por qué usar streaming
Las respuestas grandes pueden enviarse progresivamente para que el cliente empiece a recibir datos de inmediato.
API ReadableStream
Utilice la API estándar de Web Streams para crear una respuesta mediante streaming.
const stream = new ReadableStream({
async start(controller) {
for (const chunk of source) {
controller.enqueue(new TextEncoder().encode(chunk));
}
controller.close();
}
});
return new Response(stream);Eventos enviados por el servidor
Transmita datos text/event-stream para ofrecer actualizaciones en tiempo real.
Transferencia fragmentada
HTTP entrega cada fragmento encolado por la red en cuanto está listo.
Casos de uso
Registros en tiempo real, generación de texto con IA, cargas y descargas de archivos y eventos de progreso.
Lado del cliente
Use response.body.getReader() en el cliente para consumir el stream.
Contrapresión
El stream pausa la producción cuando el consumidor es lento. Evite bloquear al productor.
Cierre
Llame siempre a controller.close() cuando haya terminado. Los errores deben llamar a controller.error().
Adaptadores
La compatibilidad con streaming varía según el adaptador. adapter-node funciona; algunos entornos edge tienen limitaciones.
Rendimiento
El streaming mejora drásticamente el Time to First Byte y la velocidad percibida.
Combinar con load
El streaming de load de SvelteKit devuelve Promises que se resuelven con el tiempo, a diferencia de los streams sin procesar.
Comprobación rápida
¿Cuál es la principal ventaja del streaming?
Resumen
Envuelva un ReadableStream en una Response para transmitir fragmentos progresivamente desde +server.js.
Preguntas frecuentes
¿La lección «Streaming con ReadableStream» es gratis?
Sí — el texto completo de «Streaming con ReadableStream» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Sveltejs Academy, actualiza a CoddyKit PRO. El curso de Sveltejs Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Streaming con ReadableStream»?
Transmita progresivamente respuestas grandes mediante la API Web Streams en +server.js Practicas Sveltejs Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Sveltejs Academy?
No se requiere experiencia previa. Sveltejs Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.
¿Cuánto tiempo toma la lección «Streaming con ReadableStream»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Sveltejs Academy?
Sí. Cada lección de Sveltejs Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- +server.js: GET, POST, PUT y DELETE
- Request y RequestEvent
- Devolución de respuestas JSON
- Streaming con ReadableStream