awaitとはなんなのか
コンソールにおいて,
fetchはpromise型が帰ってくる
これに対して,時間をおいて再度変数を参照すると結果が変わってる
promiseとthenのシンタックスシュガーがawait
asyncをつけて関数を定義することで、newPromise(()=>{})と同じ結果になる
promiseはすでに存在した非同期処理の状態をわかりやすく表現するためのラッパー
setIntervalとか
awaitはasyncの中だけでつかえる
なんでだ?
thenの代わりになる
thenが必要なのは、非同期処理をチェーンさせるため
非同期処理が登場しないならチェーンしなくて、一つの中に書いてしまえばいい
結局、Promiseをから取り出す役割はない
というかasyncより前のpromiseが出てきた段階で、thenをいくら繋いでも、返り値はPromise
それで大丈夫なんか?同期処理と再び合流するような流れはないのか?
グローバル変数にはアクセスできるので問題ない
本来的に副作用のあるコードであること要求されているのだ
純粋なhaskellでは非同期処理は書けないのか?
そもそも非同期?
遅延実行とかあるし
Consoleはasync内部?
awaitが働いているように見える