なつねこメモ

主にプログラミング関連のメモ帳 ♪(✿╹ヮ╹)ノ 書いてあるコードは自己責任でご自由にどうぞ。記事本文の無断転載は禁止です。

TypeScript で async/await する

どうやら、 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";

を追加しておきます。
これで使えます。