Asynchronous
FluxのDispatcherとかStoreとか勉強してたとき非同期処理が出てきてよくわかんなかったから勉強した。
とりあえずPromiseとasync/awaitで、Generaterはもういいかなって。まぁ、async/awaitあったら要らんやろ。使用策定中のPresetまで入れなくても使えるのはいいんだけど。
結局、asyncで関数定義すると、そのまま実行したときはPromise.resolve(returnの値)、await付けて実行したときは非同期処理だけどそこだけ同期っぽく待ってreturnの値を返すようになるみたいね。先にPromiseの勉強しといてよかった。
PromiseのAPI自体は分かりやすかったけど、Promiseは定義したその場ですぐさま実行されるというか、Promiseオブジェクトが予約券になってそれだけ返ってくるというか、なんとなく把握してる感じ。あとイベント駆動なのにresolveでonFulfilledが呼ばれるって書かれてるとこが多くて混乱した。中ではそうかもしれんけども。
この記事にも載ってるけど、async/await使ってても2本以上走らせるときはPromise.all生で使わないといけないのかな?
遊んだ結果が以下のファイル。