MessageChannel
MessageChannel は結合された MessagePort のペアを作る。両端は port.postMessage で双方向に通信でき、オリジンをまたいで渡すこともできる。
目的
Worker、iframe、コンテキスト間メッセージングに双方向の非同期通信チャネルを提供する。
メカニズム
new MessageChannel() が port1 と port2 を作る。一方が port1 を、他方が port2 を保持する(postMessage で転送)。各ポートは onmessage で受信し postMessage で送信する。
ユースケース
- Workerとの双方向通信
- iframeとの通信
- 非同期メッセージチャネル