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| Assembly | Xantham.Fable.Node |
| Implements | RefCounted, 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 onmessage: obj -> unit with get, set
abstract member onmessage: obj -> unit with get, setInvoked with a single `MessageEvent` argument when a message is received.
@since v15.4.0
abstract member onmessageerror: obj -> unit with get, set
abstract member onmessageerror: obj -> unit with get, setInvoked 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