マトリョーシカ的日常

ワクワクばらまく明日のブログ。

非同期処理と不可避の支出


 気がついたら車のタイヤがパンクしていて、わたしはパンクしているなあと思った。JAFを呼び応急処置をしてもらう。その後に自動車屋にタイヤ交換をしてもらった。どちらも早く終わり、わたしはすごいなあと思った。世間はこうして動いているのかと。感心してもそうじゃなくても金は消えていった。サヨナラ。




 フィヨルドブートキャンプをずっとやっている。最近は非同期処理についての学習が主だ。非同期処理とは順次進行ではなく、前の作業が完了するより先に次の作業を行う処理のことだ。待ち時間が少なくなるといったメリットがあるが、順序を整えておかないといけないこともある。そういったときのことを学習している。

 JavaScriptで非同期処理を行うにはいくつか方法がある。コールバック、Promise、そしてasync awaitを用いた方法だ。コールバックとはある関数の実行完了時に呼ばれる関数である。特定の処理が終了したり、条件が満たされるとコールバックが呼ばれる。だれかが私をよびにきてくれる。

 Promiseとはある処理の結果が格納されるオブジェクトである。Promiseの中には処理が完了すると、成功や失敗の内容が入る。それに応じて次の処理を進める。このオブジェクトをあらかじめ集めておき、それを並べておくことで、コードの見通しがよくなる。これはフードコートでもらえるポケベルのようなものだ。私たちが注文すると、そのポケベルをもらえる。料理が完成するとポケベルが鳴る。

 async awaitは最近導入された記法のようだ。やることはPromiseとほぼ変わらないが、コードの書き方が変わってくる。Promiseのときは処理の羅列(メソッドチェーン)を明らかに書かないといけなかった。「AをやったらB。Bの結果を受けてCをする」という具合。しかし、asyncのやりかたは異なる。関数の頭にasyncとつけることでそれは非同期関数として宣言される。そしてその関数のなかでawaitキーワードを使うことができる。awaitキーワードをつけると、キーワード先の関数が終了するまで以降の処理を中断することができる。そうしてもっと直感的に、わかりやすくコードを書くことができる。

 そのようなものだった。


 非同期処理は複雑だが、コードは面白い。私の生活の中でコードを書く時間があると、非常にしっくりするし落ち着く。良い。


UnsplashTino Rischawy