【javascript】Promiseとasync/await


久々にjavascriptで非同期処理書いててちょっと混乱したので基本的な動作を整理。

非同期処理を逐次処理する方法を書いていきます。

 

まず1秒後に文字列を返すPromiseを用意します。

 

これを通常のコードで使ってみるとこうなります。

このとき値はPromiseそのものになっています。

 

then()でコールバックするかasync/awaitで非同期待機処理を簡潔に書けます。

 

async/awaitで返値がある場合にはどうなるか。

 

aa2()は非同期関数になるので、他から呼び出すとこうなります。

 

Promiseと同じように非同期後の処理を書くことが出来ます。

 

コールバック関数を渡すという方法もあります。

まあthen()でコールバック出来るのにこうする必要はないと思います。

 

async/awaitは複数の非同期処理を順番に処理する場合に効果的です。

書きやすいし分かりやすい。

ただ、非同期処理の逐次処理を簡単に書けるのでこれ(aa4_2)自体が非同期処理であるということを忘れないようにしないといけません。

 

また今回は逐次処理だけですが、何でもasync/awaitを使えばいいというわけでもないというのを1年前の自分に教えてもらいました。

多分この時の方が理解度高かったんだろうなー。


コメントを残す

メールアドレスが公開されることはありません。