モジュール基本モジュール

モジュールタイマー

タイマー モジュールは、setTimeout()、setInterval()、clearInterval()、clearTimeout() などの時間関連の関数とオブジェクトを提供する組み込みモジュールです。

setInterval() 関数は、指定された時間ごとに関数を呼び出し、タイマー オブジェクトを返します。

1 2 3 4 5 6
var timers = require('timers'); function callback() { console.log('Hello, World!'); } var intervalId = timers.setInterval(callback, 1000);

setTimeout() 関数は、指定された時間の経過後に関数を呼び出し、タイマー オブジェクトを返します。

1 2 3 4 5 6
var timers = require('timers'); function callback() { console.log('Hello, World!'); } var timeoutId = timers.setTimeout(callback, 1000);

clearTimeout() 関数は、setTimeout() メソッドによって設定されたタイマーをキャンセルするために使用されます。提供する必要があるのは、setTimeout() で返されるタイマー識別子の値です。

1 2 3 4 5 6 7
var timers = require('timers'); function callback() { console.log('Hello, World!'); } var timeoutId = timers.setTimeout(callback, 1000); timers.clearTimeout(timeoutId);

clearInterval() 関数は、setInterval() メソッドによって設定されたタイマーをキャンセルするために使用されます。提供する必要があるのは、setInterval() で返されるタイマー識別子の値です。

1 2 3 4 5 6 7
var timers = require('timers'); function callback() { console.log('Hello, World!'); } var intervalId = timers.setInterval(callback, 1000); timers.clearInterval(intervalId);

setImmediate() 関数は、次のアイドル時間中にただちに関数を呼び出し、タイマー オブジェクトを返すために使用されます。

1 2 3 4 5 6
var timers = require('timers'); function callback() { console.log('Hello, World!'); } var immediateId = timers.setImmediate(callback);

上記はタイマーモジュールが提供する一般的な関数やオブジェクトの例であり、これらの関数やオブジェクトを利用することで、タスクの遅延実行やスケジュールされたタスクの実行をアプリケーションに簡単に実装できます。

静的関数

setTimeout

指定した時間が経過した後に関数を呼び出す

1 2 3
static Timer timers.setTimeout(Function callback, Number timeout = 1, ...args);

呼び出しパラメータ:

  • callback: 関数、コールバック関数を指定します
  • timeout: 遅延時間をミリ秒単位で指定する数値。 2^31 を超える場合は、すぐに実行されます。
  • args: ...、指定されたコールバックに渡される追加パラメータ (オプション)。

返される結果:

  • Timer、タイマーオブジェクトを返します

clearTimeout

指定したタイマーをクリアする

1
static timers.clearTimeout(Value t);

呼び出しパラメータ:

  • t: 値、クリアするタイマーを指定します

setInterval

指定した間隔後に関数を呼び出す

1 2 3
static Timer timers.setInterval(Function callback, Number timeout, ...args);

呼び出しパラメータ:

  • callback: 関数、コールバック関数を指定します
  • timeout: 間隔時間をミリ秒単位で指定する数値。 2^31 を超える場合は、すぐに実行されます。
  • args: ...、指定されたコールバックに渡される追加パラメータ (オプション)。

返される結果:

  • Timer、タイマーオブジェクトを返します

clearInterval

指定したタイマーをクリアする

1
static timers.clearInterval(Value t);

呼び出しパラメータ:

  • t: 値、クリアするタイマーを指定します

setHrInterval

この関数は、指定された時間間隔ごとに呼び出されます。これは、実行中の JavaScript スクリプトの実行タイマーを積極的に中断する高精度タイマーです。

1 2 3
static Timer timers.setHrInterval(Function callback, Number timeout, ...args);

呼び出しパラメータ:

  • callback: 関数、コールバック関数を指定します
  • timeout: 間隔時間をミリ秒単位で指定する数値。 2^31 を超える場合は、すぐに実行されます。
  • args: ...、指定されたコールバックに渡される追加パラメータ (オプション)。

返される結果:

  • Timer、タイマーオブジェクトを返します

setHrInterval タイマーは実行中のコード実行コールバックを中断するため、コールバック関数内の他のモジュールに影響を与える可能性のあるデータを変更したり、コールバック内で非同期としてマークされた API 関数を呼び出したりしないでください。そうしないと、予測できない結果が発生します。例えば:

1 2 3 4 5 6 7 8 9 10
var timers = require('timers'); var cnt = 0; timers.setHrInterval(() => { cnt++; }, 100); while (cnt < 10); console.error("===============================> done");

このコードでは、コードの最適化時に JavaScript がループ中に cnt が変更されないと判断するため、cnt の変更によって 8 行目のループは終了しません。


clearHrInterval

指定したタイマーをクリアする

1
static timers.clearHrInterval(Value t);

呼び出しパラメータ:

  • t: 値、クリアするタイマーを指定します

setImmediate

次のアイドル時間中にコールバック関数をただちに実行します。

1 2
static Timer timers.setImmediate(Function callback, ...args);

呼び出しパラメータ:

  • callback: 関数、コールバック関数を指定します
  • args: ...、指定されたコールバックに渡される追加パラメータ (オプション)。

返される結果:

  • Timer、タイマーオブジェクトを返します

clearImmediate

指定したタイマーをクリアする

1
static timers.clearImmediate(Value t);

呼び出しパラメータ:

  • t: 値、クリアするタイマーを指定します

call

指定された関数を呼び出し、タイムアウトが経過すると関数を中断します。

1 2 3
static Value timers.call(Function func, Number timeout, ...args);

呼び出しパラメータ:

  • func: 関数、実行する関数を指定します
  • timeout: 数値、タイムアウト期間を指定します
  • args: ...、指定されたコールバックに渡される追加パラメータ (オプション)。

返される結果:

  • Value、関数の実行結果を返します。