برمجة

ماذا تفعل عند انتهاء مهلة إرسال طلب عبر Fetch؟

فريق فايندو جروب2 دقائق قراءة0 مشاهدة0 تعليقات
مشاركة:
مخطط لطلب إرسال ينتهي انتظاره في المتصفح بينما يمكن أن يستمر الخادم في معالجة الطلب

عرّف الحالة من وجهة نظر المستخدم

في متجر افتراضي، يضغط العميل تأكيد الطلب ثم تنتهي مهلة الانتظار. الشاشة تعرف أن الرد لم يصل خلال المدة، لكن الخادم قد يكون استقبل الطلب وسجله. اعرض حالة قيد التحقق بدل إخطار فشل نهائي عندما يكون أثر الطلب غير معروف.

فرّق بين سببين للإلغاء

يمكن تمرير AbortSignal.timeout إلى fetch في البيئات التي تدعمه. سبب انتهاء المهلة يكون TimeoutError، بينما قد ينتج عن الإلغاء الصريح AbortError. المهلة تُحسب على أساس الزمن النشط، ويمكن أن تتوقف مؤقتًا عندما تكون الوثيقة في ذاكرة العودة. افصل أخطاء HTTP التي وصلت فعلًا عن فشل انتظار الرد.

أعد التحقق قبل الإرسال

اتفق مع الخادم على معرّف ثابت لمحاولة إنشاء الطلب وعلى وسيلة للاستعلام عن حالته. حافظ على المعرّف عند محاولة استرداد النتيجة. لو لم تملك وسيلة ربط الطلبات، أعطِ المستخدم رابط طلباته أو وسيلة تحقق محددة بدل إعادة إرسال عملية إنشاء تلقائيًا. ألغِ الطلب السابق عند تغيير الفلاتر إذا كان مجرد قراءة.

اختبر تأخر الرد بعد نجاح العملية

في بيئة اختبار، سجّل الطلب ثم أخّر الرد لما بعد المهلة، وافحص أن الواجهة تستطيع معرفة رقم الطلب لاحقًا. جرّب الإلغاء قبل الإرسال وأثناء الانتظار، واختبر متصفحًا ضمن نطاق الدعم لا يملك الدالة. دوّن كيف تظهر الحالات الثلاث في الشاشة وسجل التشغيل.

من فايندو جروب: خدمات تطوير المواقع والتطبيقات.

المراجع

التصنيفات:برمجة
شارك:

التعليقات

لا توجد تعليقات بعد

أضف تعليقك

كن أول من يعلق على هذا المقال

02 · تابع القراءة

مقالات ذات صلة