2015-05-29 16 views
9

ungelöst Funktionsprüfung beheben Ich bin mit WebStorm 10.Wie in WebStorm 10

Wenn ich einige lib wie bluebird verwenden, die Code machen wie

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

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

die doSomethingAsync als ungelöst markiert werden Funktionskontrolle

Also was kann ich etwas wie config tun * Async in WebStorm zu vermeiden ungelöste Funktion markieren?

+0

Leider scheint es, dass es zu der Zeit keine Lösung dafür gibt, und es ist sinnvoll anzunehmen, dass es in naher Zukunft keine geben wird, da die neu erstellte Funktion nicht wirklich in der Quelle definiert ist. – Selfish

Antwort

3

Die beste Lösung zu diesem Zeitpunkt ist die Namensraumreservierung. WebStorm unterstützen Kommentare zu markieren, um Sachen als legitim mit:

/** @namespace foo.doSomethingAsync */ 

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

Dies nicht das tatsächliche Problem zu lösen, und werden Sie Vorschläge für die Argumente nicht erhalten, wenn die Funktion verwenden, aber es ist sicherlich eine Bequemlichkeit, helfen, die wahnsinnige Menge an Warnungen zu bereinigen, die beim Promisieren erzeugt werden.

Ich hoffe, das hilft ..

-1

Haben Sie ein ähnliches Problem, wenn sie mit Typoskript und Angular 2 (nach ihren Helden-Tutorial) unter Verwendung von ES2015, aber für das Promise Objekt arbeiten.

Promises sind Teil der integrierten Standardobjekte, daher dachte ich, dass WebStorm 2016 die TypeScript-Definitionen verwenden und in der Lage sein würde, sie zu bekommen, aber standardmäßig nicht. Alles funktionierte außer diesem.

So ging ich zu Settings > Languages & Frameworks > JavaScript und änderte die JavaScript-Sprachversion zu ECMAScript 6.

Ich dachte, dass es nichts zu tun haben würde, seit ich TypeScript verwendete, aber es tut. Jetzt funktioniert der Objektverweis Promise und verweist auf lib.es6.d.ts, eine interne WebStorm-Definition von ES2015-Objekten für TypeScript.