الدرس 4 من 8
الانتظار والعمليات غير المتزامنة
- 15 دقيقة
- 4 فحوص
- 3 تلميحات
- إلى المطلوب
هدف الدرس
الوعود وasync/await
الشرح
بعض العمليات تأخذ وقتًا، مثل جلب البيانات من الخادم أو قراءة ملف أو انتظار ردّ، ولا تتوقّف JavaScript حتى تنتهي هذه العمليات، بل تُكمل تنفيذ بقية الكود ثم تعود إلى النتيجة حين تجهز.
والوعد (Promise) قيمة ستصل لاحقًا، وكلمة await تعني «انتظر هنا حتى تصل القيمة»، ولا بد أن تكون كل دالة تستعمل await معرَّفة بـ async.
ولهذا تحتاج الواجهة إلى حالة انتظار يراها المستخدم بين لحظة الطلب ولحظة وصول النتيجة، وإلا ظنّ أن شيئًا تعطّل.
المطلوب
عند الضغط على الزر اعرض «جارٍ التحميل…»، ثم انتظر باستعمال wait(600)، ثم اعرض «تم التحميل».
الفحوص
4 فحوص- الضغط يُظهر حالة انتظار فورًا
- حالة الانتظار باقية بعد 200 ميلي ثانية
- بعد انتهاء الانتظار تظهر «تم التحميل»
- الضغطة الثانية تُظهر حالة الانتظار من جديد