1. ホーム
  2. javascript

[解決済み] ES6 プロミスで Typescript を使用する方法

2022-08-04 19:06:38

質問

私はTypescriptの全くの初心者ですが、TypescriptでES6プロミスを使用することが可能かどうか、また使用するために何をしなければならないかについて考えています。node 0.11.14を使用していますが、コンパイル時に "Cannot find name 'Promise'" というエラーが出ています。

どのように解決するのですか?

現在のlib.d.tsにはプロミスが定義されていないので、そのための定義ファイルを追加する必要があり、コンパイルエラーが発生する理由です。

例えば、(@elclanrsが言うように)DefinitelyTypedからの定義ファイルと共にes6-promiseパッケージを使用することができます。 es6-promiseの定義

すると、このように使うことができます。

var p = new Promise<string>((resolve, reject) => { 
    resolve('a string'); 
});

編集 ES6 (TypeScriptコンパイラ)をターゲットにしている場合、定義なしで使用することができます。 以下の内容を tsconfig.json :

"compilerOptions": {
    "target": "ES6"
}

2を編集 TypeScript 2.0が登場すると少し事情が変わりますが(上記でも動作しますが)、以下のように定義ファイルを直接npmでインストールすることができます。

npm install --save @types/es6-promise - ソース

edit3 型の使用に関するより多くの情報で回答を更新しています。

を作成します。 package.json ファイルには { } を内容として含むファイルを作成します(package.json がない場合)。 呼び出し npm install --save @types/es6-promisetsc --init . 最初の npm install コマンドは、あなたの package.json を変更し、es6-promiseを依存関係として含めます。 tsc --initで tsconfig.json ファイルを作成します。

これで、typescriptファイルの中でプロミスを使用することができます。 var x: Promise<any>; . 実行する tsc -p . を実行して、プロジェクトをコンパイルしてください。エラーは出ないはずです。