Node.js 如何修复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

我正在使用WebStorm 10

当我使用这样的库时,代码

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对象的内部定义。

遗憾的是,当时似乎没有解决方案,假设在不久的将来不会有任何解决方案是有意义的,因为新创建的函数实际上没有在源中定义。。