async/await
TopLevel:
awaitがasyncで定義された関数内にしか使えません。トップレベルではawait は使ってはいけません。
可読性が promiseより高い場合が多い。
たしかに、async/awaitは、可読性が高いように見える。
説明
asyncとは、非同期関数を定義する関数宣言のキーワード
callされると、promise(javascript promise)を返す。値をreturnした場合は 戻り値をresolveする。 値をthrowしたら、その値をrejectする awaitとは、 async内で利用する。awaitキーワードの処理が終わるまで、async内の処理が止まる。
for loopを順番にawaitしてloopの終わりまで待ちたいときは、
for await(cosnt i of some){ await xxxx} を使う
それぞれの要素を非同期で実行して、全部の終わりまで待ちたいときは、
Promise.all(await ....)