E você achou que tínhamos terminado de melhorar o XHR!
Há algum tempo, o método send()
sobrecarregado do XHR2 oferece suporte ao envio de um ArrayBuffer
(uma matriz de bytes brutos).
O Chrome 22 (Canary atual) descontinua esse recurso e o substitui pelo envio de ArrayBufferView
s. As matrizes tipadas do JS são ArrayBufferView
s especiais. Isso significa que agora é possível enviar uma matriz digitada diretamente pela rede sem tocar no buffer subjacente. Essa mudança está em conformidade com as atualizações recentes da especificação XMLHttpRequest2.
Por exemplo, em vez de enviar um 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);
Basta enviar a matriz digitada:
xhr.send(uInt8Array);
O envio de ArrayBuffers
será removido, mas, por enquanto, você vai receber avisos do console ao tentar enviar um buffer.
Como sempre, você pode acompanhar esses tipos de mudanças em chromestatus.com.