Study
Flutter

Async & Future di Dart

Penjelasan

Future<T> di Dart setara Promise<T> di JavaScript — merepresentasikan nilai yang akan tersedia NANTI (mis. hasil network request). Fungsi ditandai async bisa memakai await untuk "menunggu" Future selesai tanpa memblokir thread utama, syntax-nya identik konsepnya dengan async/await JavaScript.

Contoh Konsep

Future<String> ambilNamaUser() async {
    await Future.delayed(const Duration(seconds: 2)); // simulasi network delay
    return 'Budi';
}

void tampilkanNama() async {
    print('Memuat...');
    final nama = await ambilNamaUser();
    print('Halo, $nama!');
}

Praktikum

Buat fungsi async hitungTotal(int a, int b) yang menunggu 1 detik (Future.delayed) lalu mengembalikan a + b. Buat fungsi lain yang memanggilnya dengan await dan mencetak hasilnya.

Editor Latihan

Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.

Tips

Lupa menulis await sebelum pemanggilan fungsi async membuat kamu mendapat OBJEK Future itu sendiri (bukan hasilnya) — mis. print(hitungTotal(2, 3)) tanpa await akan mencetak "Instance of 'Future<int>'", bukan angka 5, kesalahan sangat umum bagi pemula async Dart.