Sha*_*tin 12 typescript typescript2.0
d.tsdt~whatwg-fetch中的文件包含以下声明.
declare class Headers {
// other code ommited
[Symbol.iterator](): IterableIterator<[string, string]>;
}
Run Code Online (Sandbox Code Playgroud)
我们试图创建一个变通方法界面但没有成功.以下工作均不适用.会是什么?
interface Symbol {}
interface Symbol<T> {}
interface Symbol {
iterator: IterableIterator<[string, string]>
}
interface Symbol<T> {
iterator: IterableIterator<[string, string]>
}
Run Code Online (Sandbox Code Playgroud)
编辑
我们已经看到Typescript找不到名称'IterableIterator',建议定位es6.这需要吗?
http://www.typescriptlang.org/docs/handbook/iterators-and-generators.html
Nit*_*mer 16
Symbol是新的ES6,因此你需要将编译器定位到那个.
要做到这一点指定目标编译器选项是"es6".
Symbol可以在lib.es6.d.ts中找到定义(虽然在默认的lib.d.ts中缺少它)
您可以自己填充该部分,只需从lib.es6.d.ts文件中复制所需的部分并将其放在您自己的文件中并引用它.
我复制了你发布的代码所需要的东西,它就在这个游乐场里.
它可能有更多的实际需要,所以玩弄它.
帮助我解决问题的是将以下设置添加到tsconfig.json:
"lib": [
"es6",
"dom"
]
Run Code Online (Sandbox Code Playgroud)
之后,我得到了重复的Promise声明的另一个错误,但我刚刚删除了polyfill类型定义并且工作正常.看起来whatwg-fetch并不真正需要ES6符号,代码可以使用ES5后备:https: //github.com/DefinitelyTyped/DefinitelyTyped/issues/11290
| 归档时间: |
|
| 查看次数: |
5371 次 |
| 最近记录: |