This feature is not Baseline because it does not work in some of the most widely-used browsers.
Note: This feature is available in Web Workers.
The cancel() method of the ReadableStreamBYOBReader interface returns a Promise that resolves when the stream is canceled. Calling this method signals a loss of interest in the stream by a consumer.
Note: If the reader is active, the cancel() method behaves the same as that for the associated stream (ReadableStream.cancel()).
cancel() cancel(reason)
reason OptionalA human-readable reason for the cancellation. The underlying source may or may not use it.
A Promise, which fulfills with the value given in the reason parameter.
TypeErrorThe source object is not a ReadableStreamBYOBReader, or the stream has no owner.
This example code calls the cancel() method when a button is pressed, passing the string "user choice" as a reason. The promise resolves when cancellation completes.
button.addEventListener("click", () => {
reader.cancel("user choice").then(() => console.log(`cancel complete`));
});
Note that this code can be seen running in the Using readable byte streams example code (press the Cancel stream button).
| Specification |
|---|
| Streams> # ref-for-generic-reader-cancel②> |
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | |
cancel |
89 | 89 | 102 | 75 | No | 89 | 102 | 63 | No | 15.0 | 89 | No |
ReadableStreamBYOBReader() constructor
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/ReadableStreamBYOBReader/cancel