どうやら、 TypeScript には async/await があるらしいので、早速使ってみる
async/await の構文は、だいたい C# と同じ。
async waitAsync(waitTime: number) { await wait(waitTime); } wait(waitTime: number) { return new Promise((resolve) => setTimeout(resolve, waitTime)); } waitAsync(1000);
わかりやすいです。
TypeScript で async/await を使うには、いくつか準備が必要なので、まずはその手順を。
数日前に書いた gulp で TypeScript のコンパイルを自動化する - みかづきメモ に追加で、
パッケージをインストールしていきます。
npm install babel-preset-stage-3 --save-dev npm install babel-polyfill --save
babel-preset-stage-3
は、 async/await をコンパイルするために必要なプリセットです。
どんな感じかは Async to generator transform · Babel を見ていただければ。
babel-polyfill
は async/await のコンパイル後に依存している regeneratorRuntime
を
使用するために追加しています。
そして、アプリケーションのエントリーポイントに
import "babel-polyfill";
を追加しておきます。
これで使えます。