Streaming dengan ReadableStream
Alirkan respons besar secara bertahap menggunakan API Web Streams di +server.js.
Streaming dengan ReadableStream adalah pelajaran Sveltejs Academy gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Sveltejs Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Sveltejs Academy mencakup 4 pelajaran total.
Mengapa Mengalirkan Data
Respons berukuran besar dapat dikirim secara bertahap sehingga klien segera mulai menerima data.
API ReadableStream
Gunakan Web Streams API standar untuk membuat respons yang dialirkan.
const stream = new ReadableStream({
async start(controller) {
for (const chunk of source) {
controller.enqueue(new TextEncoder().encode(chunk));
}
controller.close();
}
});
return new Response(stream);Peristiwa yang Dikirim Server
Alirkan data text/event-stream untuk pembaruan langsung.
Transfer Terpotong
HTTP mengirimkan setiap potongan yang dimasukkan ke antrean melalui jaringan segera setelah siap.
Kasus Penggunaan
Log waktu nyata, pembuatan teks AI, unggahan dan unduhan berkas, serta peristiwa kemajuan.
Sisi Klien
Gunakan response.body.getReader() di klien untuk menggunakan aliran.
Tekanan Balik
Aliran berhenti menghasilkan data ketika konsumennya lambat. Hindari pemblokiran pada produsen.
Penutupan
Selalu panggil controller.close() setelah selesai. Kesalahan harus memanggil controller.error().
Adaptor
Dukungan pengaliran berbeda-beda menurut adaptor. adapter-node berfungsi, tetapi beberapa waktu proses edge memiliki keterbatasan.
Performa
Pengaliran sangat meningkatkan waktu hingga byte pertama dan kecepatan yang dirasakan.
Gabungkan dengan load
Fitur load untuk pengaliran milik SvelteKit mengembalikan Promise yang diselesaikan secara bertahap, berbeda dari aliran mentah.
Pemeriksaan Singkat
Apa manfaat utama pengaliran?
Ringkasan
Bungkus ReadableStream dalam Response untuk mengalirkan potongan data secara bertahap dari +server.js.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Streaming dengan ReadableStream” gratis?
Ya — teks lengkap “Streaming dengan ReadableStream” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Sveltejs Academy, upgrade ke CoddyKit PRO. Kursus Sveltejs Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Streaming dengan ReadableStream”?
Alirkan respons besar secara bertahap menggunakan API Web Streams di +server.js. Kamu berlatih Sveltejs Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Sveltejs Academy?
Tidak diperlukan pengalaman sebelumnya. Sveltejs Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.
Berapa lama pelajaran “Streaming dengan ReadableStream” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Sveltejs Academy ini?
Ya. Setiap pelajaran Sveltejs Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- +server.js: GET POST PUT DELETE
- Request dan RequestEvent
- Mengembalikan Respons JSON
- Streaming dengan ReadableStream