WritableStreamDefaultController.WritableStreamDefaultController()

Draft
This page is not complete.

This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

The WritableStreamDefaultController() constructor creates and returns a WritableStreamDefaultController() object instance.

Note: You wouldn't use this constructor manually — this is used during the construction of a WritableStream object.

Syntax

var writableStreamController = new WritableStreamDefaultController(stream, underlyingSink, size, highWaterMark);

Parameters

stream
The WritableStream to be controlled.
underlyingSink
An object containing methods and properties that define how the constructed stream instance will behave. See the WritableStream() constructor's parameter definitions for more information.
size
A method containing a parameter chunk — this indicates the size to use for each chunk, in bytes.
highWaterMark
A non-negative integer — this defines the total number of chunks that can be contained in the internal queue before backpressure is applied.

Return value

An instance of the WritableStreamDefaultController object.

Exceptions

TypeError
The supplied stream parameter is not a WritableStream, or it already has an associated controller.

Examples

const writableStream = new WritableStream({
  start(controller) {
    // do stuff with controller

    // error stream if necessary
    controller.error('My error is broken');
  },
  write(chunk, controller) {
    ...
  },
  close(controller) {
    ...
  },
  abort(err) {
    ...
  }
});

Specifications

Specification Status Comment
Streams
The definition of 'WritableStreamDefaultController()' in that specification.
Living Standard Initial definition.

Browser compatibility

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidEdge MobileFirefox for AndroidOpera for AndroidiOS SafariSamsung Internet
Basic support
Experimental
Chrome ? Edge ? Firefox ? IE ? Opera ? Safari ? WebView Android ? Chrome Android ? Edge Mobile ? Firefox Android ? Opera Android ? Safari iOS ? Samsung Internet Android ?

Legend

Compatibility unknown  
Compatibility unknown
Experimental. Expect behavior to change in the future.
Experimental. Expect behavior to change in the future.

Document Tags and Contributors

Contributors to this page: fscholz, chrisdavidmills
Last updated by: fscholz,