تكرار السؤال: …
الإجابة المختصرة
توفر AbortController كائن إشارة (signal) يُمرر إلى الدوال غير المتزامنة لإلغاء العملية فور استدعاء controller.abort().
الشرح
أصبح AbortController معياراً قياسياً مدعوماً عالمياً في Node.js. يسمح بإلغاء طلبات HTTP، وقراءات الملفات، ومؤقتات setTimeout المعتمدة على الـ promises، مما يوفر الموارد ويمنع العمليات المعلقة عند انقطاع اتصال العميل.
مثال بالكود
const ac = new AbortController();
await fetch(url, { signal: ac.signal });
ac.abort();أخطاء شائعة
- نسيان التقاط AbortError في كتلة الـ catch وتصنيفه كخطأ غير متوقع للخادم.