den folgenden Code Given (Spielplatz Link: http://bit.ly/1n7Fcow)Typoskript nicht die richtige Überlastung wählen basierend auf Rückruf Rückgabetyp
declare function pick<T, V>(f:(x:T, y:V) => V):V;
declare function pick<T, V>(f:(x:T, y:V) => T):T;
var xx = pick((x: number, y:string) => x);
var yy = pick((x: number, y:string) => y);
Typoskript wählt eine falsche Überlastung und nicht die Art von xx
abzuleiten.
Ist es möglich, Typoskript dort die richtige Überladung wählen?
Hinweis: Um das XY-Problem zu vermeiden, ist dies das ursprüngliche Problem - - Ich brauche diese Art der Überladung, um Versprechen richtig modellieren zu können.
Also im ursprünglichen Problem werde ich 'v1.then (n => join2 (n, n.toString())) verwenden, obwohl alle Typen bereits bekannt sind. Ich denke, ich muss einen Fehler einreichen ... –
Ich stimme dir zu, sollte Typoskript in der Lage sein, den Typ von den Typ der Argumente zurückgegeben und der tatsächliche Typ zurückgegeben. Ich habe das gleiche Problem bei der Verwendung von underscore.js und die einzige Möglichkeit, es zu lösen, ist die generischen Argumente einzugeben. – micurs