J'essaie d'utiliser la fonction de générateur dans TypeScript. Mais le compilateur jette une erreur
error TS2339: Property 'next' does not exist on type
Ci-dessous est un exemple le plus proche de mon code.
export default class GeneratorClass {
constructor() {
this.generator(10);
this.generator.next();
}
*generator(count:number): Iterable<number | undefined> {
while(true)
yield count++;
}
}
La méthode next
existe sur le générateur que la fonction retourne, pas sur la fonction du générateur elle-même.
export default class GeneratorClass {
constructor() {
const iterator = this.generator(10);
iterator.next();
}
*generator(count:number): IterableIterator<number> {
while(true)
yield count++;
}
}
Je voyais cette erreur car mon tsconfig.json visait es5
.
J'ai simplement changé (extrait) de:
"target": "es5",
"lib": [
"es5",
"es2015.promise"
]
à:
"target": "es6",
"lib": [
"es6"
]
et l'erreur a disparu.
Remarque: Pour VS Code, je devais recharger la fenêtre pour qu'IntelliSense reconnaisse le changement.