- بواسطة x32x01 ||
⏳ يعني إيه Future.delayed وليه بنحتاجه في Flutter؟
وأنت شغال Flutter، أكيد قابلتك لحظة احتجت فيها تأخير تنفيذ كود شوية 🤔زي مثلًا:
- Splash Screen تفضل ظاهرة ثانيتين
- رسالة نجاح تظهر وبعدين تختفي
- Dialog يقفل لوحده
- زرار يظهر بعد وقت بسيط
🤔 Future.delayed بيعمل إيه بالظبط؟
ببساطة شديدة: Future.delayed هو منبّه ⏰بتقوله: استنى الوقت ده… وبعده نفّذلي الكود ده
الوقت ممكن يكون:
- ثواني
- ميلي ثانية
- دقايق
✅ شكل Future.delayed في الكود
الكود أبسط مما تتخيل 👇 Code:
Future.delayed(Duration(seconds: 3), () {
print("أنا جيت نورت البيت بعد 3 ثواني 😎");
}); - Flutter يستنى 3 ثواني
- وبعدها ينفّذ الكود اللي جوه
⏱️ استخدامه مع async / await
تقدر تستخدمه بشكل أنضف مع async / await 👌 Code:
await Future.delayed(Duration(seconds: 2));
print("الكود اشتغل بعد ثانيتين");
🚀 أشهر استخدامات Future.delayed في Flutter
🖼️ Splash Screen
أشهر استخدام ليه 👇 Code:
Future.delayed(Duration(seconds: 2), () {
Navigator.pushReplacement(
context,
MaterialPageRoute(builder: (_) => HomePage()),
);
}); 🎭 محاكاة تحميل بيانات (Demo)
لو بتعمل عرض أو تجربة: Code:
Future.delayed(Duration(seconds: 1), () {
setState(() {
isLoading = false;
});
}); ✨ UI Feedback وتأثيرات بسيطة
زي إظهار Text أو Button بعد شوية: Code:
Future.delayed(Duration(milliseconds: 500), () {
setState(() {
showText = true;
});
}); 🚪 قفل Dialog أو SnackBar تلقائي
Code:
Future.delayed(Duration(seconds: 3), () {
Navigator.pop(context);
});
⚠️ أخطاء شائعة وانت لازم تخلي بالك منها
- ❌ متستخدموش علشان تغطي بطء API
- ❌ متعتمدش عليه في Logic مهم
- ❌ متحطوش في Loop من غير وعي
💡 نصيحة أخوية من الآخر
لو:- الـ API بطيء → حلها Optimization
- الداتا تقيلة → Cache أو Pagination
- المستخدم مستني → Loading حقيقي
- للـ UX
- للتجربة
- للتأثيرات البسيطة
✅ الخلاصة
- Future.delayed = تأخير غير مضر
- شغال Asynchronous
- ممتاز للـ UI
- خطر لو استخدمته غلط