Özet - Async
- Dart kursu
- Orta seviye
- Ders 63/116
- 5 dk
async/await, Future.wait ve Completer'ı birleştirerek bir paralel indirici yazarsın.
Özet - Async
Bu grupta zaman uyumsuz programlamanın temellerini öğrendik: Future zaman uyumsuz sonuçu temsil eder; async/await kodu senkron gibi yazar; .then/.catchError zincir kurar; Future.wait paralel çalıştırır; Completer elle tamamlama sağlar.
Bu araçlar birlikte Dart'ta asenkron kodun temelini oluşturur. Ağ isteği, dosya okuma, zamanlayıcı gibi işlemlerde kullanılırlar. Ana iş parçacığını bloklamadan uzun işleri yönetirler.
Şimdi iki aracı bir arada kullanan bir alıştırma yapalım: iki Future'i Future.wait ile paralel çalıştır ve toplamlarını yazdır.
Uygulama Paralel Future'lerin toplamı
void main() async zaten yazılı. İki Future.value (1 ve 2) oluştur. Future.wait ile paralel çalıştır ve await ile bekle. Sonuç listesinin iki elemanının toplamını print ile yazdır; örneğin print('Toplam: ${results[0] + results[1]}').
Başlangıç kodu
void main() async {
// iki Future.value oluştur, Future.wait ile birleştir, sonuçu yazdır
}Örnek çözüm
void main() async {
var f1 = Future.value(1);
var f2 = Future.value(2);
var results = await Future.wait([f1, f2]);
print('Toplam: ${results[0] + results[1]}');
}Beklenen çıktı
Toplam: 3
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Async kavramlarını eşleştir
| Kavram | Anlamı |
|---|---|
Future |
Zaman uyumsuz sonuç |
await |
Bekleme |
Future.wait |
Paralel bekleme |
Completer |
Elle tamamlama |
2 Birden çok Future'i paralel çalıştırmak için ne kullanılır?
- Completer
- then
- Future.wait Doğru cevap
- await
Açıklama: Future.wait birden çok Future'i paralel çalıştırır.