Я пытаюсь заставить генераторы и итерации работать с TypeScript для 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 во время выполнения для любых значений, не являющихся массивами.
Как мне это получить?