如何解决在WebStorm 10中未解决的function检查

我正在使用WebStorm 10。

当我使用像蓝鸟这样的代码就像一些一些库

var foo = require("foo"); // I will call foo.doSomething Promise.promisifyAll(foo); foo.doSomethingAsync(...).then(...) 

doSomethingAsync将被标记为未解决的function检查。

那么,我能做些什么像在WebStormconfiguration*asynchronous,以避免无法parsing的function标记?

当时最好的解决scheme是使用命名空间保留。 Webstorm支持使用注释来标记为合法的东西:

  /** @namespace foo.doSomethingAsync */ var foo = Promise.promisifyAll(require('foo')); foo.doSomethingAsync(...) .then(...) 

这并不能解决实际的问题,在使用函数的时候不会给你提供参数的build议,但这确实是一个方便,有助于清理promisifying时产生的疯狂的警告。

我希望这有帮助..

在使用ES2015处理TypeScript和Angular 2(遵循其Heroes教程)时,遇到类似的问题,但对于Promise对象。

承诺是标准内置对象的一部分,所以我认为WebStorm 2016可以使用TypeScript定义,并能够得到它,但默认情况下它没有。 一切工作除了这一点。

所以,我去了Settings > Languages & Frameworks > JavaScript ,并将JavaScript语言版本更改为ECMAScript 6

我以为自从使用TypeScript之后就没有什么可做的事情了,但它确实如此 。 现在, Promise对象引用工作并链接到lib.es6.d.ts ,这是TypeScript的ES2015对象的内部WebStorm定义。