| [ Web Proxy ] |
| Viewing: https://developer.mozilla.org/ja/docs/Web/API/ReadableStreamBYOBReader | [Back] [Original] |
Get to know MDN better
ReadableStreamBYOBReader API ReadableStream
ReadableStream.getReader() mode: "byob"
type: "bytes"
read()
read()
(ReadableStreamDefaultReader)
read()
ReadableStreamBYOBReader()ReadableStreamBYOBReader
ReadableStreamBYOBReader.cancel() reason
ReadableStreamBYOBReader.read()promise
ReadableStreamBYOBReader.releaseLock() ReadableStream.getReader() options mode: "byob"
"Bring Your Own Buffer" ArrayBuffer
const reader = stream.getReader({ mode: "byob" });
let buffer = new ArrayBuffer(4000);
read()
Uint8Array
readStream(reader);
function readStream(reader) {
let bytesReceived = 0;
let offset = 0;
while (offset < buffer.byteLength) {
// read() returns a promise that resolves when a value has been received
reader
.read(new Uint8Array(buffer, offset, buffer.byteLength - offset))
.then(function processBytes({ done, value }) {
// Result objects contain two properties:
// done - true if the stream has already given all its data.
// value - some data. Always undefined when done is true.
if (done) {
// There is no more data in the stream
return;
}
buffer = value.buffer;
offset += value.byteLength;
bytesReceived += value.byteLength;
// Read some more, and call this function again
return reader
.read(new Uint8Array(buffer, offset, buffer.byteLength - offset))
.then(processBytes);
});
}
}
read() done true
ReadableStreamBYOBReader.closed
reader.closed
.then(() => {
// Resolved - code to handle stream closing
})
.catch(() => {
// Rejected - code to handle error
});
ReadableStreamBYOBReader.cancel()
cancel()
button.addEventListener("click", () => {
reader.cancel("user choice").then(() => console.log("cancel complete"));
});
releaseLock()
reader.releaseLock();
| Streams # byob-reader-class |
ReadableStreamReadableStreamBYOBReaderByteLengthQueuingStrategyCountQueuingStrategyReadableByteStreamControllerReadableStreamReadableStreamBYOBRequestReadableStreamDefaultControllerReadableStreamDefaultReaderResponse.bodyTransformStreamTransformStreamDefaultControllerWindow.fetch()WritableStreamWritableStreamDefaultControllerWritableStreamDefaultWriter| Web Proxy Viewer | New URL | Original Page |