こんにちは。
今日は、setTimeoutを使ってみます。
概要
コンソール出力するサンプルを
setTimeoutを使っていないバージョンと
setTimeoutを使ったバージョンで作成します。
setTimeoutを使っていないバージョン
こちらは同期処理になります。
function syncFunc(callback) { callback('SyncFunc!'); } console.log('start.'); syncFunc(result => console.log(result)); console.log('end.');
結果は以下のようになります。
start. SyncFunc! end.
setTimeoutを使ったバージョン
setTimeoutは非同期処理をします。
function asyncFunc(callback) { setTimeout(() => callback('AsyncFunc!'), 100); } console.log('start.'); asyncFunc(result => console.log(result)); console.log('end.');
setTimeoutは非同期なので、コールバックが実行されることを待たずに
asyncFuncに制御が戻ります。
asyncFuncが終了すると、呼び出し元に制御が戻ります。
そのため以下のような出力になります。
start. end. AsyncFunc!
まとめ
実際に動かしてみるとsetTimeoutが
非同期の動きをすることが確認できましたね。
以上です。