モダンなJSの話──async function

※この記事はInnovator Japan Engineers’ Blogで掲載されている記事を転載したものです。

async functionとは

async functionAsync Functionオブジェクトを返す関数です。

asyncawaitというキーワードを使って、Promiseよりも簡潔に非同期処理を書くことができます。

ES2017で仕様が定義されています。

使い方

使い方はカンタンです。

async関数を関数定義の時に頭につけるだけです。

Promise以外の値を返すように定義した場合は、その値で解決された形でPromiseが返されます。

もちろん、Promiseを返すこともできます。

ちなみに、上は下のように書き換え可能です。

また、async関数内では、awaitキーワードを使うことができます。

awaitキーワードはPromiseの結果が返されるまで処理を止めることができる演算子です。

awaitキーワードを使うことでPromise.then()~の部分を省略して記述することができます。  

所感

Promiseを一々書かなくともasyncキーワードを使うと簡潔にPromiseを返す関数が作れる上に、非同期処理がより実装しやすくなりましたね。

参考