when-defined promise map

when-defined promise map

仕様書

処理

[5] CustomElementsRegistry インターフェイスの whenDefined メソッドは、 次のようにしなければなりません >>2。

  1. [6] 名前を、必須の第1引数を DOMString と解釈した結果に設定します。
  2. [7] 名前が妥当なカスタム要素名でなければ、
    1. [8] SyntaxError DOMException で拒絶した約束を返し、ここで停止します。
  3. [9] 文脈オブジェクトに名前が名前の項目があれば、
    1. [10] 未定義で解決した約束を返し、ここで停止します。
  4. [11] 文脈オブジェクトの定義時約束写像がキーが名前の項目を含まないなら、
    1. [12] 文脈オブジェクトの定義時約束写像に、キーが名前で値が約束の項目を追加します。
  5. [13] 文脈オブジェクトの定義時約束写像のキーが名前の項目の値を返します。

[4] CustomElementsRegistry オブジェクトは、 定義時約束写像 (when-defined promise map) を持ちます。 これは、妥当なカスタム要素名から約束への写像です。 >>3 初期状態は、空です。

歴史

[1] Add customElements.whenDefined() API · whatwg/html@db8899b ( 版) <https://github.com/whatwg/html/commit/db8899be5b0971a3c43b8a2ac926a5df1f5bc2b9>

[14] Fix customElements.whenDefined() behavior ( (domenic著, )) <https://github.com/whatwg/html/commit/28f252fbf714e18209cc1b747f5ee130a50ec649>