なんだかGoodVibes

日々の勉強メモです。

【Node】setTimeoutを使ってみる

こんにちは。
今日は、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が
非同期の動きをすることが確認できましたね。
以上です。