##同期処理とは
同期処理では上から下へとプログラムが記述されたとおりに実行されます。
処理1、処理2、処理3と順に実行され、処理2や3は前の処理が終わるまでは絶対に実行されません。
処理と処理の間には待ち時間が発生します。
##非同期処理とは
非同期処理ではプログラムの記述順と処理順は異なります。
console.log('処理1')
setTimeout(()=> console.log('処理2'),3000)
console.log('処理3');
実行結果
処理1
処理3
処理2
上記の例では実行結果が上から下の順で処理されていないことが確認できます。
処理の流れとしては、以下のようになります。
⒈console.log('処理1')がキューに登録される(処理1が表示される)
⒉setTimeout()がキューに登録され、タイマーにconsole.log('処理2')が登録される
⒊console.log('処理3')がキューに登録される(処理3が表示される)
⒋2の3000ミリ秒後にconsole.log('処理2')がキューに登録される(処理2が表示される)
1から3までは順に(同期的に)キューに登録されます。
その後、setTimeout()が実行されたタイミングに(非同期的に)4が行われます。