message channels

message channels

仕様書

意味

[18] MessageChannel は、2つの MessagePort の間の通信路 (channel) を表します。

[19] ただし、2つの MessagePort の間の通信路があるとき、 必ず対応する MessageChannel オブジェクトが存在するわけではありません。 例えばワーカーとその作成元の間には MessageChannel はありません。
[20] 逆に、 MessageChannel オブジェクトが破棄されても、 それに対応する通信路が無くなるわけではありません。両 MessagePort が有効である限りは、通信路は存続します。つまり MessageChannel は作成時以外はあまり意味を持たないオブジェクトです。

作成

[3] MessageChannel インターフェイスは、コンストラクターを持ちます >>2

[14] コンストラクターは、引数を持ちません。

[15] コンストラクターは、新しい MessagePort オブジェクトを作成して返します。


[7] コンストラクターは、次のようにしなければなりません >>2

  1. [9] 設定群を、現職設定群オブジェクトに設定します。
  2. [8] ポート1を、所有者設定群として新しいMessagePortオブジェクトを作成した結果に設定します。
  3. [10] ポート2を、所有者設定群として新しいMessagePortオブジェクトを作成した結果に設定します。
  4. [11] ポート1ポート2entangle します。
  5. [12] 新しい MessageChannel を返します。
    [13] MessageChannel
    ポート1
    ポート1
    ポート2
    ポート2

文脈

[4] MessageChannel インターフェイスは、 文書環境ワーカー環境晒されています >>2

状態

[16] MessageChannel オブジェクトは、 通常のプラットフォームオブジェクトの状態に加えて、 次の状態を持ちます。

メンバー

[6] MessageChannel オブジェクトは、 次のメンバーを持ちます。

歴史

[5] HTML5 (現 HTML Standard) で導入されました。

メモ

[1] MessageChannel 便利過ぎるwww

[21] The WHATWG Blog — HTML and shared memory () <https://blog.whatwg.org/html-and-shared-memory>