代码之家  ›  专栏  ›  技术社区  ›  Wex

使用异步迭代在TypeScript中定位ES5并在浏览器上运行时出错

  •  2
  • Wex  · 技术社区  · 9 年前

    下列的 the docs

    (Symbol as any).asyncIterator = Symbol.asyncIterator || Symbol.for("Symbol.asyncIterator");
    

    这会导致我的浏览器引发错误:

    Uncaught TypeError: Cannot assign to read only property ‘asyncIterator’ of function ‘function Symbol() { [native code] }’
    
    1 回复  |  直到 9 年前
        1
  •  2
  •   Wex    9 年前

    由于该属性是只读的,因此仅当它不存在时才对其进行分配:

    if (typeof (Symbol as any).asyncIterator  === 'undefined') {
     (Symbol as any).asyncIterator = Symbol.asyncIterator || Symbol('asyncIterator');
    }
    
    推荐文章