如何在打字稿中使用生成器函数

我正在尝试在TypeScript中使用生成器函数。但是编译器抛出错误

error TS2339: Property 'next' does not exist on type

下面是我的代码的最接近示例。

export default class GeneratorClass {
    constructor() {
        this.generator(10);
        this.generator.next();
    }
    *generator(count:number): Iterable<number | undefined> {
        while(true)
            yield count++;
    }   
}

Here is the playground link for the same


解决方案

next方法存在于函数返回的生成器上,而不存在于生成器函数本身。

export default class GeneratorClass {
    constructor() {
        const iterator = this.generator(10);
        iterator.next();
    }
    *generator(count:number): IterableIterator<number> {
        while(true)
            yield count++;
    }   
}

相关文章