التخلص من طلبات XHR المتزامنة

إريك بيدلمان

تنبيه: تم تغيير مواصفات XMLHttpRequest2 مؤخرًا لمنع إرسال طلب متزامن عند ضبط XMLHttpRequest.responseType. الفكرة من وراء التغيير هي المساعدة في التخفيف من استخدام المزيد من xhrs متزامنة كلما أمكن ذلك.

على سبيل المثال، سيطرح الرمز التالي الآن السمة INVALID_ACCESS_ERR في إصدارات قنوات المطوّرين الخاصة بمتصفّح Chrome وFF:

var xhr = new XMLHttpRequest();
xhr.responseType = 'arraybuffer';
xhr.open('GET', '/', false); // sync request
xhr.send();

راجِع WebKit Bug وخطأ Mozilla

تُعد طلبات XHR المتزامنة سيئة لعدة أسباب، إلا أن مشاركة مدونة MSDN بعنوان "لماذا يجب أن تستخدم XMLHttpRequest غير المتزامن" لديها شرح ممتاز للمشكلات.

يُعد هذا تغييرًا كبيرًا على الويب بشكل عام، ولكن من المحتمل أن يؤدي إلى إيقاف بعض التطبيقات الحالية التي كانت تعتمد على السلوك المتزامن. يُرجى فحص رمز XHR وتحديثه في أقرب وقت ممكن لاستخدام الطلبات غير المتزامنة.