2021年3月9日火曜日

JavaScriptその8 (時間経過によるイベントの自動進行)

  あれ、前回とサブタイトルが同じじゃね?と思った方、鋭いです。

 どういうことかと申しますと、第一段階の製作の時点でシステム的にけっこう後になっていじる必要がある部分だという感覚を得ておりましたので、もっと良いコードの書き方はないものかと色々と調べておりました。

 当初はsetTimeoutを入れ子にして使っていたのですが、これには大きな弱点があって、「人間の直感的に理解しにくい作りになっている」というものです。まあ、プログラミング自体が人間が理解しやすいかどうかよりもコンピュータが理解しやすいかどうかを基準に書くべきだというのはごもっともなんですが、様々な言語はコンピュータが理解できるものでかつ人間にもできるだけ理解しやすいもの、という思考で数々の種類が生み出されてきたという歴史を考えると、やはり直感的に分かりやすいかどうかは重要でしょう。

 そこで、書き方を色々調べていたところ、Promiseというものを使えば非同期なJavaScriptもその処理順を非常にコントロールしやすくなるようです。JavaScriptでできるということは、jQueryでもその処理は可能なわけで、これによって相当直感的に分かりやすいコードになりそうです。まあ、私もまだまだ理解不足なところはあるのですが。

 とはいえ、Promiseの使い方を少し知っただけの現状では実際に自分のコードに落とし込むには少し時間がかかります。しかし、原理的にできるということは分かっているので、じっくりと取り組みたいと思います。


 また、今後のプロジェクトで使用するアイディアも少しずつ増えてきました。けっこうインパクトを狙ったものなので実現にはけっこう時間がかかりそうですが、遠くても目標が決まるとそこに至るための近い目標も逆算して見えてくるわけで、やっぱりモチベーションが上がります。

0 件のコメント:

コメントを投稿