و در اینجا فکر کردید که ما بهبود XHR را تمام کرده ایم!
مدتی است که متد send()
overloaded XHR2 از ارسال یک ArrayBuffer
(یک آرایه بایت خام) پشتیبانی می کند.
Chrome 22 (Canary فعلی) با جایگزین کردن آن با ارسال ArrayBufferView
s، این ویژگی را منسوخ می کند. آرایههای تایپ شده JS فقط آرایههای ویژه ArrayBufferView
هستند، بنابراین همه اینها واقعاً به این معنی است که اکنون میتوانید یک آرایه تایپشده را مستقیماً در سراسر سیم بدون لمس بافر زیرین آن ارسال کنید. این تغییر با بهروزرسانیهای اخیر مشخصات XMLHttpRequest2 مطابقت دارد.
به عنوان مثال، به جای ارسال یک ArrayBuffer
:
var xhr = new XMLHttpRequest();
xhr.open('POST', '/server', true);
xhr.onload = function(e) { ... };
var uInt8Array = new Uint8Array([1, 2, 3]);
xhr.send(uInt8Array.buffer);
فقط خود آرایه تایپ شده را ارسال کنید:
xhr.send(uInt8Array);
در نهایت، ارسال ArrayBuffers
حذف خواهد شد، اما فعلاً هنگام تلاش برای ارسال بافر، هشدارهای کنسول را دریافت خواهید کرد.
مثل همیشه، میتوانید با دنبال کردن chromestatus.com با این نوع تغییرات همراه باشید.