2016-08-02 8 views
13

Ich verwende Flow 0.30.0. Ich habe eine Funktion, die ein VersprechenVerwendung von Promise als Rückgabetyp in Flow

function process(callback:Function):Promise { 
    return new Promise((r,re) => callback) 
} 

Flow-Fehler zurückgibt,

function process(callback:Function):Promise { 
            ^^^^^^^ Promise. Application of polymorphic type needs <list of 1 argument>. (Can use `*` for inferrable ones) 

Dies funktioniert in tryflow beschweren, aber nicht vor Ort. Irgendwelche Ideen zu dem Thema?

Antwort

22

Gemäß dem Flow-Changelog wurde in v0.28.0 eine Änderung eingeführt, die Typargumente explizit macht. Durch explizites Festlegen des Rückgabetyps auf Promise<any> sollte das Problem behoben werden.

Alternativ können Sie das folgende Flag auf false gesetzt, obwohl dies eine temporäre Flagge, die in der Zukunft entfernt werden

experimental.strict_type_args=false

https://github.com/facebook/flow/blob/master/Changelog.md#v0280

+3

Excuse meine Unwissenheit, aber ich habe versucht, zu finde die Dokumentation des Promise-Typs in Flow Docs (https://flow.org/en/docs/types/), konnte aber nichts finden. Wo ist es dokumentiert? – Leonardo

+0

@Leonardo Ich bin in der gleichen Situation, haben Sie die Dokumente darauf gefunden? – Noitidart

+1

@Noitidart Art von, ich musste ein [Problem auf GitHub] (https://github.com/facebook/flow/issues/4882), wo sie mich auf den Code, der den Promise-Typ. Offenbar existiert der Code aber es ist nicht dokumentiert: \ – Leonardo