Skip to content

BroadcastChannel

[<Interface>]
type BroadcastChannel =
    abstract member name: string
    abstract member onmessage: obj -> unit with get, set
    abstract member onmessageerror: obj -> unit with get, set
    static member Create (name: string, onmessage: obj -> unit, onmessageerror: obj -> unit, close: unit -> unit, postMessage: obj -> unit, ref: unit -> BroadcastChannel, unref: unit -> BroadcastChannel, addEventListener: Action<string,U2<(Event2 -> unit),EventListenerObject>,U2<bool,AddEventListenerOptions> option>, dispatchEvent: Event2 -> bool, removeEventListener: Action<string,U2<(Event2 -> unit),EventListenerObject>,U2<bool,EventListenerOptions2> option>) : BroadcastChannel
    abstract member close () : unit
    abstract member postMessage (message: obj) : unit
    abstract member ref () : BroadcastChannel
    abstract member unref () : BroadcastChannel
AssemblyXantham.Fable.Node
ImplementsRefCounted, EventTarget
Attributes[<Interface>]

Instances of BroadcastChannel allow asynchronous one-to-many communication with all other BroadcastChannel instances bound to the same channel name.

'use strict';

import {
isMainThread,
BroadcastChannel,
Worker,
} from 'node:worker_threads';

const bc = new BroadcastChannel('hello');

if (isMainThread) {
let c = 0;
bc.onmessage = (event) => {
console.log(event.data);
if (++c === 10) bc.close();
};
for (let n = 0; n < 10; n++)
new Worker(__filename);
} else {
bc.postMessage('hello from every worker');
bc.close();
}

@since v15.4.0

Properties

abstract member name: string
abstract member onmessage: obj -> unit with get, set

Invoked with a single `MessageEvent` argument when a message is received.

@since v15.4.0

abstract member onmessageerror: obj -> unit with get, set

Invoked with a received message cannot be deserialized.

@since v15.4.0

Methods

static member Create (name: string, onmessage: obj -> unit, onmessageerror: obj -> unit, close: unit -> unit, postMessage: obj -> unit, ref: unit -> BroadcastChannel, unref: unit -> BroadcastChannel, addEventListener: Action<string,U2<(Event2 -> unit),EventListenerObject>,U2<bool,AddEventListenerOptions> option>, dispatchEvent: Event2 -> bool, removeEventListener: Action<string,U2<(Event2 -> unit),EventListenerObject>,U2<bool,EventListenerOptions2> option>) : BroadcastChannel
abstract member close () : unit

Closes the BroadcastChannel connection.

@since v15.4.0

abstract member postMessage (message: obj) : unit

@since v15.4.0

Parameter
messageAny cloneable JavaScript value.
abstract member ref () : BroadcastChannel
abstract member unref () : BroadcastChannel