Quantcast
Channel: SourceChord
Viewing all articles
Browse latest Browse all 153

TypeScriptでasync/awaitを使ってみた

$
0
0

そういえば、今までTypeScriptのasync/awaitを使ってなかったので、使い方を軽くφ(..)メモメモ

TypeScript1.x系では、ES3/ES5向けのときはasync/awaitは使えないので、ちょっと敬遠してましたが、
Node.js環境だったら普通に使えるだろうし、、ということで使ってみました。

↓を参考にやってみました。

こんな風に、Promiseでくるんだ関数を用意しておくと、awaitできるようになります。

C#のasync/awaitと同様に、awaitが使えるのはasyncな関数の内部だけになるので注意。

index.ts

function wait(n: number) {returnnew Promise(done => setTimeout(() => done(n), n));
}

async function main() {
    console.log("start");
    for (var i=0; i<10; i++) {
        await wait(1000);
        console.log("next");
    }}

main();

tsconfigはこんな感じ。
"target": "es6"として、ES6向けにトランスパイルするようにしています。

tsconfig.json

{"compilerOptions": {"module": "commonjs",
        "target": "es6",
        "noImplicitAny": false,
        "sourceMap": true},
    "exclude": ["node_modules"]}

こうすると、1秒間隔でnextと表示されていきます。
非同期な処理でも、普通にfor分とかのループ処理と組み合わせて掛けたり、何かと便利に使えそうですね。


Viewing all articles
Browse latest Browse all 153

Trending Articles