Dart Academy · Pelajaran

Mendengarkan dengan await for

Membaca event saat tiba

Pelajaran 1 dari 413 langkah

Mendengarkan dengan await for adalah pelajaran Dart Academy gratis di CoddyKit. Ini adalah pelajaran 1 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.

Apa Itu Stream

Stream adalah rangkaian nilai yang tiba seiring waktu, bukan sekaligus. Anggaplah Stream sebagai Future yang dapat mengirimkan banyak hasil, bukan hanya satu.

Stream vs Future

Future memberi Anda satu nilai di kemudian waktu. Stream mengirimkan serangkaian peristiwa secara berurutan, sampai memberi tahu Anda bahwa pengiriman telah selesai. 🌊

Mengenal await for

Perulangan await for membaca peristiwa dari stream saat peristiwa tersebut tiba. Setiap kali perulangan berjalan, Anda mendapatkan nilai berikutnya yang dipancarkan stream.

await for (final value in stream) {
  print(value);
}

Harus Berada di dalam async

Karena await for berhenti sejenak untuk menunggu peristiwa, fitur ini hanya dapat digunakan di dalam fungsi yang ditandai async. Fungsi tersebut ditangguhkan sampai nilai berikutnya siap.

Future<void> show(Stream<int> s) async {
  await for (final n in s) print(n);
}

Stream untuk Didengarkan

Anda dapat membuat stream singkat dengan Stream.fromIterable. Stream ini memancarkan setiap elemen dalam daftar secara berurutan, cocok untuk mencoba await for.

final stream = Stream.fromIterable([1, 2, 3]);

Mengulang Peristiwa

Pasangkan stream tersebut dengan await for, dan perulangan Anda akan berjalan sekali untuk setiap nilai yang dipancarkan. Di sini, perulangan mencetak 1, lalu 2, lalu 3.

await for (final n in Stream.fromIterable([1, 2, 3])) {
  print(n);
}

Menunggu di antara Peristiwa

Stream nyata sering berhenti sejenak di antara peristiwa. Dengan await for, kode Anda cukup menunggu selama jeda tersebut dan melanjutkan seketika nilai berikutnya tiba. ⏳

final ticks = Stream.periodic(
    Duration(seconds: 1), (i) => i);

Perulangan Berakhir Secara Alami

Saat stream selesai mengirimkan peristiwa, stream mengirimkan sinyal done. Perulangan await for Anda keluar dengan sendirinya, lalu fungsi melanjutkan eksekusi setelahnya.

await for (final n in finiteStream) print(n);
print('Stream finished');

Error Mencapai Perulangan

Jika stream memancarkan error, error tersebut dilempar tepat pada baris await for. Anda dapat membungkus perulangan dengan try/catch untuk menanganinya dengan baik.

try {
  await for (final n in maybeFails) print(n);
} catch (e) {
  print('Caught: $e');
}

break Membatalkan Pendengaran

Menggunakan break di dalam await for menghentikan perulangan dan secara diam-diam membatalkan langganan Anda ke stream. Anda tidak akan lagi menerima peristiwa yang tersisa.

await for (final n in stream) {
  if (n > 100) break;
}

Satu Pendengar dalam Satu Waktu

Perulangan await for berlangganan ke stream dengan satu langganan. Stream tersebut hanya dapat dibaca sekali, sehingga perulangan kedua atas stream itu akan melempar error.

Pemeriksaan Singkat

Uji pemahaman Anda tentang await for.

Ringkasan

Anda telah mempelajari bahwa Stream mengirimkan banyak nilai seiring waktu, dan await for membacanya satu per satu di dalam fungsi async hingga done. Kerja bagus! 🎉

Gratis untuk memulai

Belajar Dart dengan tutor AI — gratis

Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.

Kursus
30
Pelajaran
120

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Mendengarkan dengan await for” gratis?

Ya — teks lengkap “Mendengarkan dengan await for” 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 “Mendengarkan dengan await for”?

Membaca event saat tiba 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 1 dari 4.

Berapa lama pelajaran “Mendengarkan dengan await for” 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

  1. Mendengarkan dengan await for
  2. Stream Tunggal vs Broadcast
  3. Transformasi Stream: map, where, take
  4. Membuat Stream dengan async*
← Kembali ke Dart Academy