javascriptの非同期について
javascriptを勉強していると何点がつまずく点があったが、そのひとつが非同期通信だった。
関数で返り値を取ろうとしても処理のタイミングによっては値が取れないことがあります。
下の例だと戻り値を2倍しているだけなのですが、わざとsetTimeoutで処理のタイミングをずらしています。こうなるとfunc1の値が返ってくる前にfunc2を実行してしまってundefinedになるので注意が必要です。ここらへんはjavascriptを触るとみんな陥るところかもしれない。
これを解決するためにcallbackを勉強して次にpromiseを勉強して次にasync/awaitを勉強することになると思うがひとつずつ理解していかないと後々やっかいだと気付いた。
解説はほかのサイトで丁寧に書かれているのでそちらを参考にしてください。
とりあえずcallback関数を使えば関数そのものを引数に渡すことができるので、関数の数珠繋ぎみたいなのが出来ます。
これを利用するとfunc1の結果をfunc2に渡してfunc3に渡すみたいな数珠繋ぎが完成します。
下記を実行すると上から順番に実行されます。
簡単そうですが、見慣れない書き方なので最初パッと見ただけで理解できませんでした。あとアロー関数も変に省略されていてパッと見意味がわかりませんでした。
Javascriptって色んな事が出来て色んな書き方が出来てしまうので、慣れるのに時間がかかるなと思いました。ネットにサンプルは色々落ちているが人によって書き方が違うのでそういった点もJavascriptを最初に触って戸惑う点かもしれません。
1Dayログ
コロナ過で増えているリモートワークですが、慣れないリモートワークはなかなか作業効率があがりません。
自分が一日どれくらい仕事をしているのか正確に測定したいと思い簡単なタイマーアプリを作りました。
1度どのくらいパソコンの前で仕事をしているか測定してみるといいかもしれません。
下記からご自由にお使いください。
デュアルモニター間のアプリの移動ショートカットキー
デュアルモニターを使っていて、片方のモニタの電源を落としたときに、アプリが消した画面側にいて、こっちに持ってきたい場合ってありませんか?
今まで知らなくて、もう一度モニタの電源を付けてアプリを移動させてきてから不要なモニタの電源を切るか、HDMI端子をぶっこ抜いてシングルモニタに切り替えていました。
実は探したらショートカットキーを使って消えた画面からブラウザなりなんなりをアクティブなモニタに持ってこれるんですね。知らなくて人生損してました。
やり方は簡単!移動させていアプリをアクティブにして「Shift」+「Windowsボタン」+「← もしくは →」
これさえ知っておけば、モニタの電源を付けなおす必要もないし、HDMI端子をぶっこ抜く必要もなし!
もっと早くググっていればよかった(笑)
コマンドプロンプトで画面をクリアする方法
clsと入力