【Node.js24.x】Object::BroadcastChannel()メソッドの使い方
BroadcastChannelメソッドの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
BroadcastChannelメソッドは、Node.js環境において、異なる実行コンテキスト間でメッセージをやり取りするために使用されるメソッドです。これは、同一のオリジン内にある複数のブラウジングコンテキスト、例えば異なるタブ、ウィンドウ、またはNode.jsのWorkerスレッド間で、シンプルかつ効率的にデータを通信するための標準的なWeb APIをNode.jsに組み込んだものです。
このメソッドを使用すると、まず任意の文字列名を指定して新しい「チャネル」を作成します。そして、そのチャネル名を知っているすべてのコンテキスト間で、非同期的にメッセージを送受信できるようになります。例えば、あるWorkerスレッドで重い処理が完了した際に、その結果をメインスレッドに通知したり、複数のサーバーサイドプロセス間で特定のイベント発生を共有したりするシナリオで非常に有用です。
プログラマーはnew BroadcastChannel('チャネル名')のようにしてインスタンスを生成し、そのインスタンスのpostMessage()メソッドを使ってメッセージを送信します。メッセージを受信するには、onmessageイベントリスナーを登録します。これにより、開発者は複雑な通信プロトコルを自前で実装することなく、アプリケーション内の異なる部分間でリアルタイムな連携を実現できます。
利用が終わったチャネルは、リソース解放のためにclose()メソッドを呼び出して閉じるべきです。Node.js 24では、このグローバルに利用可能な機能により、Web標準との互換性を保ちつつ、堅牢な並行処理アプリケーションを構築するための基盤が提供されます。
構文(syntax)
1const channel = new BroadcastChannel('channel_name'); 2channel.postMessage('Your message here');
引数(parameters)
name
- name: string: チャンネル名を指定する文字列。同じ名前を持つ
BroadcastChannelオブジェクト間でメッセージが送受信されます。
戻り値(return)
BroadcastChannel
BroadcastChannelコンストラクタは、指定されたチャネル名を持つBroadcastChannelオブジェクトを新しく作成して返します。このオブジェクトは、異なるオリジン間(例: ブラウザタブ、Web Worker、Service Worker)でメッセージをブロードキャスト(一斉送信)するために使用されます。