等待connectedCallback中的元素升级:FireFox是正确的还是Chromium错误的?

在FireFox中呆了一个星期后,再次受到Chrome元素升级问题的困扰。

在交付给Chromium浏览器之前,忘记将代码包装在setTimeout中。

  • FireFox打印:ABCD
  • 铬打印:ADCD
  • 苹果浏览器: ?

问题:FireFox是否可以像开发人员期望的那样运行?铬为什么错了?

<script>
  customElements.define('my-element', class extends HTMLElement {
    connectedCallback() {
      console.log(this.innerHTML);// "A" in FireFox, "" in other Browsers
      if (this.innerHTML == "A")
        this.innerHTML = this.innerHTML + "B";
      else
        setTimeout(() => this.innerHTML = this.innerHTML + "D");
    }
  })
</script>

<my-element>A</my-element><my-element>C</my-element>

过去几年的相关答案: