Apa perbedaan antara async dan async* di Dart?

Di Dart, async dan async* keduanya digunakan untuk pemrograman asinkron, namun keduanya memiliki tujuan berbeda dan memiliki perilaku berbeda:

asinkron:

· async digunakan untuk menandai suatu fungsi sebagai asynchronous. Hal ini menunjukkan bahwa fungsi tersebut akan melakukan beberapa operasi asinkron dan mungkin menghentikan sementara eksekusinya menggunakan menunggu untuk menunggu operasi ini selesai.

· Fungsi mengembalikan satu Masa Depan atau nilai secara langsung (dalam kasus fungsi sinkron). Jika fungsi mengembalikan nilai secara langsung, Dart secara otomatis membungkusnya dalam Future .

· Saat menggunakan async , isi fungsi dapat berisi ekspresi menunggu, yang menunda eksekusi fungsi hingga operasi asinkron yang ditunggu selesai.

asinkron*:

· async* digunakan untuk mendefinisikan fungsi yang menghasilkan urutan nilai secara asinkron. Ini sering digunakan untuk membuat generator asinkron, juga dikenal sebagai aliran asinkron.

· Fungsi mengembalikan Stream atau StreamSubscription . Alih-alih mengembalikan satu nilai atau Masa Depan, hal ini dapat menghasilkan banyak nilai seiring berjalannya waktu.

· Di dalam fungsi async* , Anda dapat menggunakan hasil untuk memancarkan nilai secara asinkron. Fungsi ini dapat menghentikan sementara eksekusinya menggunakan fungsi async seperti menunggu , tetapi ini tidak umum digunakan.

Ringkasan:

· async digunakan untuk fungsi asinkron yang mengembalikan satu Masa Depan atau nilai.

· async* digunakan untuk fungsi generator asinkron yang menghasilkan urutan nilai dari waktu ke waktu menggunakan Stream.

Intinya, async adalah untuk fungsi yang melakukan operasi asinkron dan mengembalikan satu hasil, sedangkan async* adalah untuk fungsi yang menghasilkan banyak hasil dari waktu ke waktu secara asinkron.

https://medium.com/@chetan.akarte/whats-the-difference-between-async-and-async-in-dart-02051fc8b2fd

Subscribe

Related articles

Menjelajahi Persimpangan Flutter dan IoT

Di dunia yang semakin ditentukan oleh perangkat yang saling...

Flutter Lints — Praktik Pengodean yang Baik

Flutter Lints mengacu pada serangkaian aturan lint atau aturan...

Cara menyiapkan & mengunggah Android App Bundle pada PlayStore

Mengapa menggunakan AAB? Ada jawaban sederhana untuk itu..Karena hal ini...

Kesalahan umum dengan ListViews di Flutter

Beberapa hal yang harus dihindari agar pengguliran tetap lancar 1....

LEAVE A REPLY

Please enter your comment!
Please enter your name here