Stream Tunggal vs Broadcast
Memilih stream yang tepat untuk banyak pendengar
Stream Tunggal vs Broadcast adalah pelajaran Dart Academy gratis di CoddyKit. Ini adalah pelajaran 2 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 Dart Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Dart Academy mencakup 4 pelajaran total.
Dua Jenis Stream
Stream Dart memiliki dua jenis: single-subscription dan broadcast. Pilihan yang tepat bergantung pada jumlah pendengar yang Anda perlukan.
Stream Single-Subscription
Stream single-subscription mengizinkan tepat satu pendengar selama masa hidupnya. Ini adalah jenis bawaan dan ideal untuk urutan sekali pakai, seperti membaca file. 📄
Hanya Mendengarkan Sekali
Cobalah mendengarkan stream single-subscription dua kali, dan Dart akan melempar StateError. Stream tersebut mengingat bahwa ia sudah memiliki satu pendengar.
final s = Stream.fromIterable([1, 2]);
s.listen(print);
s.listen(print); // throws StateErrorDisimpan hingga Anda Mendengarkan
Stream single-subscription menunggu dengan sabar. Stream ini tidak menghasilkan peristiwa sampai sesuatu mulai mendengarkannya, sehingga tidak ada nilai yang terlewat.
Stream Broadcast
Stream broadcast memungkinkan banyak pendengar berlangganan secara bersamaan. Setiap pendengar yang aktif menerima peristiwa yang sama saat peristiwa tersebut muncul. 📡
Mengubah Menjadi Broadcast
Ubah stream single-subscription menjadi stream bersama dengan memanggil asBroadcastStream. Kini beberapa pendengar dapat terhubung ke stream tersebut.
final shared = source.asBroadcastStream();
shared.listen(print);
shared.listen((v) => log(v));Pendengar yang Terlambat Kehilangan Peristiwa
Stream broadcast tidak menyimpan peristiwa. Pendengar yang berlangganan secara terlambat hanya melihat peristiwa yang dipancarkan sejak saat itu, bukan peristiwa sebelumnya.
Controller Menentukan Jenisnya
StreamController secara bawaan membuat stream single-subscription. Gunakan konstruktor broadcast jika Anda menginginkan banyak pendengar.
final ctrl = StreamController<int>.broadcast();
ctrl.stream.listen(print);Kapan Menggunakan Single
Gunakan stream single-subscription saat data mengalir sekali kepada satu penerima, misalnya byte dari respons jaringan atau hasil pembacaan file.
Kapan Menggunakan Broadcast
Pilih stream broadcast untuk peristiwa yang terus berlangsung dan diperlukan oleh banyak bagian aplikasi Anda, seperti ketukan tombol atau pembaruan sensor langsung.
Periksa Sebelum Mendengarkan
Tidak yakin jenis stream yang Anda miliki? Properti isBroadcast memberi tahu Anda, sehingga Anda dapat menghindari StateError karena mendengarkan dua kali pada stream single-subscription.
if (!stream.isBroadcast) {
// only one listener allowed
}Pemeriksaan Singkat
Stream mana yang cocok untuk banyak pendengar?
Ringkasan
Stream single-subscription melayani satu pendengar dan menyimpan peristiwa hingga dibaca; stream broadcast melayani banyak pendengar, tetapi melewatkan peristiwa yang sudah berlalu. Pilih berdasarkan jumlah pendengar. 🎉
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Stream Tunggal vs Broadcast” gratis?
Ya — teks lengkap “Stream Tunggal vs Broadcast” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Dart Academy, upgrade ke CoddyKit PRO. Kursus Dart Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Stream Tunggal vs Broadcast”?
Memilih stream yang tepat untuk banyak pendengar Kamu berlatih Dart 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 Dart Academy?
Tidak diperlukan pengalaman sebelumnya. Dart 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 2 dari 4.
Berapa lama pelajaran “Stream Tunggal vs Broadcast” 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 Dart Academy ini?
Ya. Setiap pelajaran Dart 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
- Mendengarkan dengan await for
- Stream Tunggal vs Broadcast
- Transformasi Stream: map, where, take
- Membuat Stream dengan async*