Javascript 什么是';外部';在这个prosemirror代码中是什么意思?

Javascript 什么是';外部';在这个prosemirror代码中是什么意思?,javascript,prose-mirror,Javascript,Prose Mirror,以下是prosemirror js代码行: applyTransaction(rootTr) { //... outer: for (;;) { 在这个javascript代码中,无限循环之前的“外部”是什么意思 Upd. 函数的完整代码: applyTransaction(rootTr) { if (!this.filterTransaction(rootTr)) return {state: this, transactions: []} let tr

以下是prosemirror js代码行:

applyTransaction(rootTr) {
    //...
    outer: for (;;) {
在这个javascript代码中,无限循环之前的“外部”是什么意思

Upd.

函数的完整代码:

  applyTransaction(rootTr) {
    if (!this.filterTransaction(rootTr)) return {state: this, transactions: []}

    let trs = [rootTr], newState = this.applyInner(rootTr), seen = null
    // This loop repeatedly gives plugins a chance to respond to
    // transactions as new transactions are added, making sure to only
    // pass the transactions the plugin did not see before.
    outer: for (;;) { // <--- this line !!!
      let haveNew = false
      for (let i = 0; i < this.config.plugins.length; i++) {
        let plugin = this.config.plugins[i]
        if (plugin.spec.appendTransaction) {
          let n = seen ? seen[i].n : 0, oldState = seen ? seen[i].state : this
          let tr = n < trs.length &&
              plugin.spec.appendTransaction.call(plugin, n ? trs.slice(n) : trs, oldState, newState)
          if (tr && newState.filterTransaction(tr, i)) {
            tr.setMeta("appendedTransaction", rootTr)
            if (!seen) {
              seen = []
              for (let j = 0; j < this.config.plugins.length; j++)
                seen.push(j < i ? {state: newState, n: trs.length} : {state: this, n: 0})
            }
            trs.push(tr)
            newState = newState.applyInner(tr)
            haveNew = true
          }
          if (seen) seen[i] = {state: newState, n: trs.length}
        }
      }
      if (!haveNew) return {state: newState, transactions: trs}
    }
  }
applyTransaction(rootTr){
如果(!this.filterTransaction(rootTr))返回{state:this,transactions:[]}
让trs=[rootTr],newState=this.applyInner(rootTr),seen=null
//这个循环反复地给插件一个响应的机会
//添加新事务时,请确保仅
//传递插件以前没有看到的事务。
外部:对于(;){/它是一个

带标签的语句可与break或continue语句一起使用。它是在语句前面加上可引用的标识符


浏览链接的源代码,我的第一个猜测是它在那里,以便插件可以引用它。

这看起来像一个标签,但我没有看到任何对它的引用。是的,我看到了链接。我认为问题中应该有更多的上下文。当链接的代码更改或存储库消失时,您的问题将失去上下文。@Amy这不是我的专业领域,但它可能存在,因此可以被插件引用。@Amy,好的,谢谢!我正在尝试了解prosemirror的功能,我认为链接到代码就足够了。但我认为你关于标签的看法是正确的。