פינוי פונקציות XHR סינכרוניות

אריק בידלמן

לתשומת ליבך! המפרט XMLHttpRequest2 שונה לאחרונה כך שלא יאפשר שליחה של בקשה סינכרונית כאשר מוגדר הערך XMLHttpRequest.responseType. הרעיון שעומד מאחורי השינוי הוא לעזור לצמצם את השימוש הנוסף ב-xhrs סינכרוניים ככל האפשר.

לדוגמה, הקוד הבא יקפיץ עכשיו INVALID_ACCESS_ERR בגרסאות build של ערוצים למפתחים של Chrome ו-FF:

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

ראה באג WebKit, באג ב-Mozilla

פונקציות XHR סינכרוניות עלולות להזיק מכמה סיבות, אבל הפוסט בבלוג של MSDN, "למה כדאי להשתמש ב-XMLHttpRequest באופן אסינכרוני", מספק הסבר נהדר לבעיות.

בדרך כלל זהו שינוי גדול לאינטרנט, אבל יש לו פוטנציאל להפסיק את הפעילות של חלק מהאפליקציות הקיימות שהסתמכו על התנהגות סינכרונית. עליכם לבדוק את קוד ה-XHR ולעדכן אותו בהקדם כדי להשתמש בבקשות אסינכרוניות.