[解決済み] ES6 プロミスで Typescript を使用する方法
質問
私は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-promise
と
tsc --init
. 最初の npm install コマンドは、あなたの
package.json
を変更し、es6-promiseを依存関係として含めます。 tsc --initで
tsconfig.json
ファイルを作成します。
これで、typescriptファイルの中でプロミスを使用することができます。
var x: Promise<any>;
.
実行する
tsc -p .
を実行して、プロジェクトをコンパイルしてください。エラーは出ないはずです。
関連
-
[解決済み] TypeScript getting error TS2304: cannot find name ' require'.
-
[解決済み] JavaScriptで要素のクラスを変更するにはどうすればよいですか?
-
[解決済み] Node.jsのプログラムにコマンドライン引数を渡すにはどうしたらいいですか?
-
[解決済み] Node.jsを使うタイミングをどう判断するか?
-
[解決済み] Node.jsを完全にアンインストールして、最初から再インストールする方法 (Mac OS X)
-
[解決済み] TypeScriptで文字列を数値に変換する方法とは?
-
[解決済み] ES6インポートで中括弧を使用するのはどのような場合ですか?
-
[解決済み] ジェスト あるクラスの特定のメソッドをモックする方法
-
[解決済み] 文字列がhtmlであるかどうかをチェックする
-
[解決済み] リダイレクトされずにHTMLフォームを送信する方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] ジェスト あるクラスの特定のメソッドをモックする方法
-
[解決済み] JavaScriptで次の要素/前の要素を取得しますか?
-
[解決済み] 配列からオブジェクトを生成する
-
[解決済み] reactのrender関数でdynamic hrefを作成するには?
-
[解決済み] JavaScriptを使用してHTML要素に属性を追加/更新するには?
-
[解決済み] javascript includes() 大文字小文字を区別しない
-
[解決済み] AngularJS - ngRepeatフィルタリングされた結果の参照を取得する方法
-
[解決済み] javascriptで文字列から関数を作成する方法はありますか?
-
[解決済み] jQueryを使用して、すべてのクリックイベントハンドラを削除するにはどうすればよいですか?
-
[解決済み] JavaScriptデータフォーマット/プリティプリンタ