In der aktuellen lib.d.ts sind keine Versprechen definiert, daher benötigen Sie eine zusätzliche Definitionsdatei, weshalb Kompilierungsfehler auftreten.
Sie könnten beispielsweise (wie @elclanrs sagt) das es6-Versprechen-Paket mit der Definitionsdatei von DefinitelyTyped: es6-Versprechen-Definition verwenden
Sie können es dann folgendermaßen verwenden:
var p = new Promise<string>((resolve, reject) => {
resolve('a string');
});
Bearbeiten Sie können es ohne Definition verwenden, wenn Sie auf ES6 abzielen (mit dem TypeScript-Compiler). - Beachten Sie, dass das Versprechen zur Laufzeit natürlich noch vorhanden sein muss (damit es in alten Browsern nicht funktioniert :)) tsconfig.json
::
"compilerOptions": {
"target": "ES6"
}
edit 2
Wenn TypeScript 2.0 herauskommt, ändern sich die Dinge ein wenig (obwohl oben noch funktioniert), aber Definitionsdateien können direkt mit npm wie unten installiert werden:
npm install --save @types/es6-promise
- Quelle
edit3
Antwort mit weiteren Informationen zur Verwendung der Typen aktualisieren.
Erstellen Sie eine package.json
Datei nur { }
mit dem Inhalt (wenn Sie noch keine package.json haben. Rufen Sie npm install --save @types/es6-promise
und auf tsc --init
. Mit dem ersten Befehl zur Installation von npm wird Ihr Befehl geändert package.json
, um das es6-Versprechen als Abhängigkeit einzuschließen. Tsc --init erstellt eine tsconfig.json
Datei für dich.
Sie können das Versprechen jetzt in Ihrer Typoskriptdatei verwenden var x: Promise<any>;
. Ausführen tsc -p .
, um Ihr Projekt zu kompilieren. Sie sollten keine Fehler haben.
es6-promise