这很简单,我想在Typescript中使用一个生成器函数,并且对我来说没有错误。
traverseTree = function* (tree: Section[]) {
for (let branch of tree) {
yield branch;
if (branch.Children.length > 0)
yield* traverseTree(branch.Children);
}
}
编译时出现错误TS2318 Cannot find global type 'IterableIterator'
我已经阅读了许多问题,例如this one或this one,但是我所能找到的建议都没有任何改变。我正在使用Typescript 3.2.2,并尝试使用一个非常简单的生成器函数。我已经尝试了很多事情,但这是我当前的tsconfig文件:
{
"compilerOptions": {
"noImplicitAny": false,
"noEmitOnError": true,
"removeComments": false,
"sourceMap": true,
"target": "es5",
"module": "none",
"lib": [
"esnext",
"dom",
"es2015.promise"
]
},
"compileOnSave": true
}
我还尝试在"downlevelIteration": true
中为"noLib"
添加"lib"
为真和为假的"esnext"
:没有"es6"
,使用"lib"
,而不是根本没有"files": [
"node_modules/typescript/lib/lib.d.ts",
"node_modules/typescript/lib/lib.es6.d.ts"
]
,我也搞砸了设置文件:
UIBarButtonItem
我所做的一切似乎没有什么不同,在编译时总是会得到完全相同的错误。
答案 0 :(得分:0)
知道了,我正在使用Visual Studio 2019预览版,由于某种原因,2017年运行良好。原来,我只需要安装3.2.2 SDK,并且在这两个版本中都可以正常工作。我不知道为什么2017年不关心未安装SDK,而2019年不关心,似乎很奇怪。