diff --git a/fetch.js b/fetch.js index b763a53a..b58aeea4 100644 --- a/fetch.js +++ b/fetch.js @@ -274,7 +274,17 @@ function Body() { this.arrayBuffer = function() { if (this._bodyArrayBuffer) { - return consumed(this) || Promise.resolve(this._bodyArrayBuffer) + consumed(this) + if (ArrayBuffer.isView(this._bodyArrayBuffer)) { + return Promise.resolve( + this._bodyArrayBuffer.buffer.slice( + this._bodyArrayBuffer.byteOffset, + this._bodyArrayBuffer.byteOffset + this._bodyArrayBuffer.byteLength + ) + ) + } else { + return Promise.resolve(this._bodyArrayBuffer) + } } else { return this.blob().then(readBlobAsArrayBuffer) }