JavaScript
 Computer >> コンピューター >  >> プログラミング >> JavaScript

JavaScriptでアクション間に遅延(スリープ)を入れる方法:setTimeout()の使い方

JavaScriptでスリープ(遅延処理)を実装するには、setTimeout() を使います。この関数は待機時間をミリ秒単位で指定します。

1000ミリ秒 = 1秒
2000ミリ秒 = 2秒(以下同様)

サンプルコード

それでは、5秒間(5000ミリ秒)の遅延を挟んで2つの値を足し合わせる例を見てみましょう。コードは次のとおりです。

var firstValue=10;
var secondValue=20;
var result=firstValue+secondValue;
setTimeout(function() {
}, (5 * 1000));
console.log("計算結果="+result);

上記の setTimeout() により、プログラムは5秒間スリープします。このプログラムを実行するには、以下のコマンドを使用してください。

node ファイル名.js

ここでは、ファイル名を demo95.js としています。

実行結果

上記のプログラムを実行すると、次のような出力が得られます。

PS C:\Users\Amit\JavaScript-code> node demo95.js
計算結果=30

補足:async/awaitを使ったより実用的なスリープ方法

上記の例では setTimeout() のコールバック内で処理を行っていません。実際の開発では、Promiseと組み合わせることで、より直感的に遅延処理を書くことができます。

function sleep(ms) {
  return new Promise(resolve => setTimeout(resolve, ms));
}

async function main() {
  var firstValue = 10;
  var secondValue = 20;
  console.log("5秒待機します...");
  await sleep(5000); // 5秒間スリープ
  console.log("計算結果=" + (firstValue + secondValue));
}

main();

このように await sleep(5000) と書くことで、コードの流れが読みやすくなり、非同期処理の中でも自然に遅延を挿入できます。

  1. JavaScriptでループ処理に遅延を追加する方法をわかりやすく解説

    JavaScriptでループの各反復の間に遅延(待ち時間)を設けたい場合は、setTimeout() メソッドを使用します。この記事では、基本的な実装例から、より読みやすいモダンな書き方まで、コード例とともに解説します。 setTimeout()でループに遅延を追加する仕組み setTimeout() は、指定したミリ秒後にコールバック関数を一度だけ実行するメソッドです。ループ内で単に setTimeout(fn, 2000) と書くだけでは、すべてのタイマーがほぼ同時に登録されてしまい、意図した通りの遅延になりません。 そこでポイントとなるのが、遅延時間にループカウンタを掛け算するという手法

  2. C#で2つのDateTimeオブジェクト間の差をミリ秒単位で求める方法

    C#では、TimeSpan構造体を使うことで、2つのDateTimeオブジェクト間の時間差を簡単に計算できます。この記事では、その差をミリ秒単位で取得する方法を解説します。基本的な手順まず、比較対象となる2つのDateTimeオブジェクトを用意します。以下は、同じ日付の時刻が異なる2つのオブジェクトの例です。DateTime date1 = new DateTime(2018, 8, 11, 08, 15, 20); DateTime date2 = new DateTime(2018, 8, 11, 11, 14, 25);次に、2つの日時の差を求めます。DateTime同士は減算演算子(-