Node.js 如何修复WebStorm 10中未解决的功能检查
我正在使用WebStorm 10 当我使用这样的库时,代码Node.js 如何修复WebStorm 10中未解决的功能检查,node.js,webstorm,Node.js,Webstorm,我正在使用WebStorm 10 当我使用这样的库时,代码 var foo = require("foo"); // I will call foo.doSomething Promise.promisifyAll(foo); foo.doSomethingAsync(...).then(...) doSomethingAsync将标记为未解决的功能检查 那么,我可以在WebStorm中执行类似config*Async的操作来避免未解析的函数标记?当时最好的解决方案是使用名称空间保留。 W
var foo = require("foo"); // I will call foo.doSomething
Promise.promisifyAll(foo);
foo.doSomethingAsync(...).then(...)
doSomethingAsync将标记为未解决的功能检查
那么,我可以在WebStorm中执行类似config*Async的操作来避免未解析的函数标记?当时最好的解决方案是使用名称空间保留。 Webstorm支持使用注释将内容标记为合法:
/** @namespace foo.doSomethingAsync */
var foo = Promise.promisifyAll(require('foo'));
foo.doSomethingAsync(...)
.then(...)
这并不能解决实际问题,在使用该函数时也不会为参数提供建议,但这确实是一种方便,有助于清理承诺时产生的大量警告
我希望这会有所帮助。在使用ES2015使用TypeScript和Angular 2(遵循其Heroes教程)时遇到了类似的问题,但是对于
Promise
对象
是标准内置对象的一部分,所以我认为WebStorm 2016可以使用TypeScript定义并能够获得它,但默认情况下没有。
除了这个,一切都正常
因此,我转到Settings>Languages&Frameworks>JavaScript
,并将JavaScript语言版本更改为ECMAScript 6
我想既然我在使用TypeScript,它就不会无所事事了,但它确实做到了。
现在,
Promise
对象引用起作用并链接到lib.es6.d.ts
,这是WebStorm对TypeScript的ES2015对象的内部定义。遗憾的是,当时似乎没有解决方案,假设在不久的将来不会有任何解决方案是有意义的,因为新创建的函数实际上没有在源中定义。。