相关疑难解决方法(0)

为什么 TypeScript 的 IterableIterator<> 和 Generator<> 泛型略有不同?

在 TypeScript (3.6.3) Generator<>中几乎与IterableIterator<>相同。当Generator<>扩展Iterator<> 时,它默认第三个泛型参数(TNext)unknownIterator<>本身默认TNextundefined。所以GeneratorIterator(以及IterableIterator)并没有像他们应该的那样排列。

let gen2:IterableIterator<string>;

function* gen1():Generator<string> {
    yield* gen2;
}
Run Code Online (Sandbox Code Playgroud)

yield* 行是一个错误:“无法将迭代委托给 value,因为其迭代器的 'next' 方法期望类型为 'undefined',但包含的生成器将始终发送 'unknown'.ts(2766)”。

我错过了什么吗?这有充分的理由吗?

iterator generator typescript

6
推荐指数
1
解决办法
921
查看次数

标签 统计

generator ×1

iterator ×1

typescript ×1