files/en-us/web/api/rtcdtlstransport/statechange_event/index.md
{{APIRef("WebRTC")}}
A statechange event occurs when the {{domxref("RTCDtlsTransport")}} changes state. The {{domxref("RTCDtlsTransport.state", "state")}} property can be used to determine the current state of the underlying Datagram Transport Layer Security (DTLS) transport.
This event is not cancelable and does not bubble.
Use the event name in methods like {{domxref("EventTarget.addEventListener", "addEventListener()")}}, or set an event handler property.
addEventListener("statechange", (event) => { })
onstatechange = (event) => { }
A generic {{domxref("Event")}}.
Given an {{domxref("RTCPeerConnection")}}, pc, the following code creates an event handler that calls a function named handleFailure() if the DTLS transport enters a failure state.
const dtlsTransport = pc.getSenders()[0].transport;
dtlsTransport.addEventListener("statechange", (ev) => {
if (dtlsTransport.state === "failed") {
handleFailure(pc);
}
});
The same code, using the onstatechange event handler property, looks like this:
const dtlsTransport = pc.getSenders()[0].transport;
dtlsTransport.onstatechange = (ev) => {
if (dtlsTransport.state === "failed") {
handleFailure(pc);
}
};
{{Specifications}}
{{Compat}}