Und Sie dachten, wir wären mit der Verbesserung von XHR fertig!
Seit einiger Zeit unterstützt die überladene send()
-Methode von XHR2 das Senden eines ArrayBuffer
(eines Rohbyte-Arrays).
In Chrome 22 (aktuelle Canary-Version) wird diese Funktion eingestellt und durch das Senden von ArrayBufferView
s ersetzt. JS-typisierte Arrays sind nur spezielle ArrayBufferView
s. Das bedeutet, dass Sie jetzt ein typisiertes Array direkt über die Verbindung senden können, ohne den zugrunde liegenden Puffer zu berühren. Diese Änderung entspricht den aktuellen Updates der XMLHttpRequest2-Spezifikation.
Anstatt beispielsweise eine ArrayBuffer
zu senden:
var xhr = new XMLHttpRequest();
xhr.open('POST', '/server', true);
xhr.onload = function(e) { ... };
var uInt8Array = new Uint8Array([1, 2, 3]);
xhr.send(uInt8Array.buffer);
Senden Sie einfach das eingegebene Array:
xhr.send(uInt8Array);
Das Senden von ArrayBuffers
wird irgendwann entfernt. Vorläufig erhältst du aber Konsolenwarnungen, wenn du versuchst, einen Puffer zu senden.
Wie immer können Sie sich über chromestatus.com über diese Änderungen informieren.