我正在尝试使生成器和迭代与TypeScript for ES5一起使用。我正在使用以下编译器选项。
"target": "es5",
"lib": [
"DOM",
"ES5",
"ScriptHost",
"es2015.iterable" // Fixes "Cannot find global type 'IterableIterator'."
],
"downlevelIteration": true // Fixes "Type 'IterableIterator<number> is not an array type or a string type."
在我的测试课中,我有:
public test = () => {
for (const i of this.generator(1)) {
console.log(i);
break;
}
}
*generator(count: number) {
while (true)
yield count++;
}
在较新的浏览器中,此方法有效,但与较旧的undefined
一起记录。 docs说
...这需要在运行时对任何非数组值使用本机Symbol.iterator或Symbol.iterator填充程序。
我怎么得到这个?