Y aquí pensabas que habíamos terminado de mejorar XHR.
Desde hace un tiempo, el método send()
sobrecargado de XHR2 admite el envío de un ArrayBuffer
(un array de bytes sin procesar).
Chrome 22 (Canary actual) da de baja esta función y la reemplaza por el envío de ArrayBufferView
. Los arrays con tipos de JS son solo ArrayBufferView
especiales, por lo que todo esto significa que ahora puedes enviar un array con tipos directamente a través del cable sin tocar su búfer subyacente. Este cambio está alineado con las actualizaciones recientes de la especificación de XMLHttpRequest2.
Por ejemplo, en lugar de enviar un ArrayBuffer
, haz lo siguiente:
var xhr = new XMLHttpRequest();
xhr.open('POST', '/server', true);
xhr.onload = function(e) { ... };
var uInt8Array = new Uint8Array([1, 2, 3]);
xhr.send(uInt8Array.buffer);
Solo envía el array escrito:
xhr.send(uInt8Array);
Con el tiempo, se quitará el envío de ArrayBuffers
, pero, por el momento, recibirás advertencias de la consola cuando intentes enviar un búfer.
Como siempre, puedes mantenerte al tanto de este tipo de cambios en chromestatus.com.