ネイティブ ES6 Promise で Typescript を使用する方法 質問する

ネイティブ ES6 Promise で Typescript を使用する方法 質問する

私は Typescript の完全な初心者で、Typescript で ES6 Promise を使用できるかどうか、またそれを動作させるには何をしなければならないか知りたいです。Node 0.11.14 を実行していますが、コンパイル中に「名前 'Promise' が見つかりません」というエラーが発生します。

ベストアンサー1

現在の lib.d.ts には Promise が定義されていないため、追加の定義ファイルが必要になり、コンパイル エラーが発生します。

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

次のように使用できます。

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

編集ES6 をターゲットにする場合は定義なしで使用できます (TypeScript コンパイラを使用) - ただし、もちろん実行時に Promise が存在する必要があることに注意してください (そのため、古いブラウザーでは動作しません :)) 次のコードを に追加/編集しますtsconfig.json

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

編集2TypeScript 2.0 がリリースされると状況は少し変わりますが (上記は引き続き機能しますが)、定義ファイルは以下のように npm で直接インストールできます。

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

編集3タイプの使用に関する詳細情報を追加して回答を更新します。

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

これで、Typescript ファイルで promise を使用できるようになりましたvar x: Promise<any>;。実行してtsc -p .プロジェクトをコンパイルします。エラーは発生しないはずです。

おすすめ記事