0Pricing
Sveltejs Academy · บทเรียน

การสตรีมด้วย ReadableStream

สตรีมการตอบกลับขนาดใหญ่ทีละส่วนโดยใช้ Web Streams API ใน +server.js

การสตรีมด้วย ReadableStream เป็นบทเรียน Sveltejs Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Sveltejs Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Sveltejs Academy มีบทเรียนทั้งหมด 4 บทเรียน

เหตุใดจึงต้องใช้สตรีม

สามารถส่งการตอบกลับขนาดใหญ่ทีละส่วนได้ ทำให้ไคลเอนต์เริ่มรับข้อมูลได้ทันที

API ReadableStream

ใช้ Web Streams API มาตรฐานเพื่อสร้างการตอบกลับแบบสตรีม

const stream = new ReadableStream({
  async start(controller) {
    for (const chunk of source) {
      controller.enqueue(new TextEncoder().encode(chunk));
    }
    controller.close();
  }
});
return new Response(stream);

เหตุการณ์ที่ส่งจากเซิร์ฟเวอร์

ส่งข้อมูล text/event-stream แบบสตรีมสำหรับการอัปเดตแบบสด

การถ่ายโอนแบบแบ่งเป็นชิ้น

HTTP จะส่งข้อมูลแต่ละชิ้นที่เข้าคิวไว้ผ่านเครือข่ายทันทีที่พร้อม

กรณีการใช้งาน

บันทึกแบบเรียลไทม์ การสร้างข้อความด้วย AI การอัปโหลดหรือดาวน์โหลดไฟล์ และเหตุการณ์ความคืบหน้า

ฝั่งไคลเอ็นต์

ใช้ response.body.getReader() บนฝั่งไคลเอ็นต์เพื่ออ่านข้อมูลจากสตรีม

การควบคุมแรงดันย้อนกลับ

สตรีมจะหยุดสร้างข้อมูลชั่วคราวเมื่อผู้รับข้อมูลทำงานช้า โปรดหลีกเลี่ยงการบล็อกการทำงานของผู้ผลิตข้อมูล

การปิด

โปรดเรียก controller.close() เสมอเมื่อทำงานเสร็จ หากเกิดข้อผิดพลาด ให้เรียก controller.error()

ตัวปรับให้เข้ากัน

การรองรับสตรีมแตกต่างกันไปตามตัวปรับให้เข้ากัน โดย adapter-node ใช้งานได้ แต่สภาพแวดล้อมรันไทม์แบบเอดจ์บางประเภทมีข้อจำกัด

ประสิทธิภาพ

การสตรีมช่วยลดเวลาไปจนถึงไบต์แรกและทำให้ผู้ใช้รู้สึกว่าแอปทำงานเร็วขึ้นอย่างมาก

ใช้ร่วมกับ load

การโหลดแบบสตรีมของ SvelteKit จะส่งคืนพรอมิสที่เสร็จสมบูรณ์ตามเวลา ซึ่งแตกต่างจากสตรีมดิบ

ตรวจสอบอย่างรวดเร็ว

ประโยชน์หลักของการสตรีมคืออะไร

สรุปทบทวน

ครอบ ReadableStream ไว้ใน Response เพื่อสตรีมข้อมูลแต่ละส่วนจาก +server.js อย่างต่อเนื่อง

คำถามที่พบบ่อย

บทเรียน “การสตรีมด้วย ReadableStream” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “การสตรีมด้วย ReadableStream” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Sveltejs Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Sveltejs Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “การสตรีมด้วย ReadableStream”

สตรีมการตอบกลับขนาดใหญ่ทีละส่วนโดยใช้ Web Streams API ใน +server.js คุณปฏิบัติ Sveltejs Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Sveltejs Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Sveltejs Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน

บทเรียน “การสตรีมด้วย ReadableStream” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Sveltejs Academy นี้ได้ไหม

ได้ บทเรียน Sveltejs Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. +server.js: GET POST PUT DELETE
  2. Request และ RequestEvent
  3. การส่งคืนการตอบกลับ JSON
  4. การสตรีมด้วย ReadableStream
← กลับไปที่ Sveltejs Academy