メサイア・ワークス

JSの非同期関数とコールバック関数とは? この場合はコールバック関数って名前より、後処理関数って方が分かりやすいな…。

JSの非同期関数とコールバック関数とは? この場合はコールバック関数って名前より、後処理関数って方が分かりやすいな…。

参考URL
https://sbfl.net/blog/2019/02/08/javascript-callback-func/

いきなり結論
1, 非同期関数というものがある。実行しても完了を待たずに次の処理にいってしまう関数。setTimeout以外にも、$.ajax()とかfs.access(path[, mode], callback)みたいな奴。
2, 非同期関数が終わった後に、後処理的な事がしたい。その後処理関数がコールバック関数
3, 非同期関数の引数に、後処理関数(コールバック関数)を渡しておけば、あとは知らん!って感じでメイン処理ができる。

非同期処理のメリット
例えば時間のかかるダウンロード処理など、終わるまで待つ(同期処理)と画面が固まってしまうので、終わる前に次の処理もしたい!

1, 同期処理

1→2→3

2, 非同期処理(非同期関数setTimeout)

1→キューに登録処理→3→2(非同期処理が実行)

これは何が起こっているのか?

3, 関数自体を変数に格納できる。

4, コールバック関数とは?

5, コールバック関数と非同期処理の関係

そのためには、非同期関数setTimeoutの引数にコールバック関数(後処理関数)を渡して、あとは知らん!って感じにすれば良い。

6, 一般的な非同期処理+コールバック関数

ボタンをクリックされた時の処理

分離して書くと、こういう感じ

モバイルバージョンを終了