2015-05-29 65 views
9

我使用WebStorm 10如何解決懸而未決的功能檢查在WebStorm 10

當我使用了一些類似的lib是bluebird使代碼像

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

foo.doSomethingAsync(...).then(...) 

doSomethingAsync將被標記爲未解決功能檢查。

那麼,我可以做什麼樣的配置*異步在WebStorm避免未解決的功能馬克?

+0

可悲的是,似乎有當時的無解,這是有道理的假設不會有任何在不久的將來,作爲新創建的功能實際上並沒有在源代碼中定義.. – Selfish

回答

3

當時最好的解決方案是使用命名空間預留。 Webstorm支持,以紀念的東西是合法的使用註釋:

/** @namespace foo.doSomethingAsync */ 

    var foo =  Promise.promisifyAll(require('foo')); 
    foo.doSomethingAsync(...) 
     .then(...) 

這並不解決實際問題,不會讓你的建議使用該功能時的參數,但它肯定是一個方便,幫助清理promisifying時產生的瘋狂數量的警告。

我希望這有助於..

-1

與打字稿工作,當有一個類似的問題角度使用ES2015 2(以下它的英雄教程),而是爲Promise對象。

Promises是標準內置對象的一部分,所以我認爲WebStorm 2016可以使用TypeScript定義並能夠得到它,但默認情況下它沒有。 除此之外的一切工作。

所以,我去了Settings > Languages & Frameworks > JavaScript,並將JavaScript語言版本更改爲ECMAScript 6

我以爲自從我使用TypeScript時就沒有什麼可做的了,但是它確實是。 現在Promise對象引用工作,並鏈接到lib.es6.d.ts,這是TypeScript的ES2015對象的內部WebStorm定義。