Sore yang begitu sunyi 😊
Pada hari ini kita akan mencoba menerapkan Bloc Flutter. tapi sebelum menggunakan bloc flutter sebaiknya harus menguasai tentang asinkron pada Flutter terlebih dahulu, agar tidak mengalami kesulitan dalam menggunakannya.
Cara kerja asinkron pada pemrograman adalah apabila ada suatu baris program, dimana saat program itu dijalankan dari atas sampai bawah, tanpa harus menunggu program tersebut selesai baru berpindah ke program selanjutnya. tapi akan langsung dilewati entah program tersebut selesai dieksekusi semua atau tidak. untuk menerapkan konsep asinkron di flutter anda dapat mengimport kode berikut :
import 'dart:async'
Pada Flutter anda dapat menggunakan Future atau Stream untuk menerapkan konsep asinkron. keduanya memiliki kegunaan masing- masing.
- Future biasanya pengembaliannya menggunakan return. Jika anda ingin menggunakan asinkron yang akan berhenti setelah mengembalikan suatu nilai, mungkin return menjadi pilihan. Berikut struktur dari Future return :
Future getName() async{
return "ronaldinho";
}
}
cara menjalankan program Future sebagai berikut :
main() async {
var namapemain = await getName();
print("{Nama Pemain sepak bola : $namapemain}");
}
output :
Nama Pemain Sepak bola : ronaldinho
- Stream biasanya pengembaliannya menggunakan yield. Jika anda ingin menggunakan asinkron yang tidak berhenti sampai semua nilai yang dikembalikan yield berhasil di eksekusi, mungkin yield pilihan yang tepat untuk anda. Berikut Struktur dari Stream yield.
Stream<String>getName() async*{
yield "ronaldinho"
yield "messi"
yield "neymar"
}
}
cara menjalankan program Stream yield sebagai berikut :
main() async {
await getNama().listen((nama){
print("{Nama Pemain sepak bola : $nama}");
});
}
output :
Nama Pemain Sepak bola : ronaldinho
Nama Pemain Sepak bola : messi
Nama Pemain Sepak bola : neymar
Untuk membutikan bahwa Stream yield akan terus berjalan sampai semua data benar - benar dikembalikan, kita mencoba menyisipkan Stream yield di dalam class Stream yield lain, seperti contoh berikut :
Stream<String>getNameCadangan() async*{
yield "puyol"
yield "xavi"
yield "iniesta"
}
}
Stream<String>getName() async*{
yield "ronaldinho"
yield "messi"
yield* getNameCadangan()
yield "neymar"
yield "ronaldinho"
yield "messi"
yield* getNameCadangan()
yield "neymar"
}
Kemudian kita jalankan program diatas :
main() async {
await getNama().listen((nama){
print("{Nama Pemain sepak bola : $nama}");
});
}
output :
Nama Pemain Sepak bola : ronaldinho
Nama Pemain Sepak bola : messi
Nama Pemain Sepak bola : puyol
Nama Pemain Sepak bola : xavi
Nama Pemain Sepak bola : iniesta
Nama Pemain Sepak bola : neymar
Seperti itulah cara kerja dari Future dan Stream, Semoga bermanfaat 😄.
Stream yield dan Future return pada Flutter
Reviewed by sdiik
on
April 08, 2020
Rating:

No comments: