已抵达!xhr.send(ArrayBufferViews)

您以为我们已经完成了 XHR 的改进!

一段时间以来,XHR2 的过载 send() 方法支持发送 ArrayBuffer(原始字节数组)。

Chrome 22(当前 Canary 版)已废弃此功能,改为发送 ArrayBufferView。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 及时了解这类更改。