RTCDataChannel: closing event
Baseline 2025>
Newly available
Since October 2025, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.
The closing event is sent to an RTCDataChannel just before the channel begins the process of shutting down its underlying data transport.
This event is not cancelable and does not bubble.
Syntax
Use the event name in addEventListener():
addEventListener("closing", (event) => { })
Alternatively, assign to the event handler property of the interface:
onclosing = (event) => { }
Event type
A generic Event.
Description
While the closing event is sent to the channel just before beginning to close the channel's data transport, the close event is sent once the closing process is complete.
Examples
This example updates a connection status interface when the closing event arrives.
First, an example using addEventListener():
dataChannel.addEventListener("closing", (ev) => {
myConnectionStatus.icon = closingIcon;
myConnectionStatus.text = "Connection closing";
});
You can also set the onclosing event handler property directly (but note that this replaces other event listeners added using onclosing, if any):
dataChannel.onclosing = (ev) => {
myConnectionStatus.icon = closingIcon;
myConnectionStatus.text = "Connection closing";
};
Specifications
| Specification |
|---|
| WebRTC: Real-Time Communication in Browsers> # event-datachannel-closing> |
| WebRTC: Real-Time Communication in Browsers> # dom-rtcdatachannel-onclosing> |