Node.js API詳細解のtimerモジュールの使い方の実例分析


本論文の実例はNode.js APIの詳細な解のためのtimerモジュールの使い方を述べている。皆さんに参考にしてあげます。具体的には以下の通りです。
Node.js API詳細解のtimer
timerモジュールは、将来のある期間にスケジュール関数を呼び出すためのグローバルなAPIを露出している。
タイマー関数はグローバルなので、このAPIを使用すると、require(‘timers’)を呼び出す必要がない。
Node.jsのタイマ関数は、Webブラウザが提供するタイマーと同様のAPIを実現し、
それはNode.jsイベントサイクルに基づいて構築された異なる内部実装を使用している。
setImmedite(calback[,…args])
説明:
すぐに実行する予定のcalbackは、転送待ち時間が必要ではなく、現在の実行スタックの実行が完了したら、直ちにsetImmediteバインディングのコールバック関数を実行します。
コールバック:現在ラウンド終了時に呼び出す関数
…args:calbackを呼び出した時に入るオプションのパラメータ
デモ:

setImmediate(() => {
 console.log('Immediate');
});

clearImmedite(immediate)
説明:
setImmedite()によって作成されたImmediateオブジェクトをキャンセルします。
immediate:setImmedite()が返すImmediteオブジェクトです。
デモ:

var immediate = setImmediate(() => {
 console.log('Immediate');
});
clearImmediate(immediate)

set Interval(calback,delay[,…args])
説明:
delayミリ秒ごとに繰り返す予定のcalbackです。
calback:タイマーがポイントになる時に呼び出す関数です。
delay:calbackを呼び出す前に待つミリ秒数。delayが2147483647より大きい場合、または1より小さい場合、delayは1に設定されます。
…args:calbackを呼び出すときに入るオプションのパラメータです。
デモ:

setInterval((str) => {
 console.log(str);
}, 1000, 'xiaoqiang');
// xiaoqiang
// xiaoqiang
// xiaoqiang
// xiaoqiang
// xiaoqiang

clear Interval(timeout)
説明:
set Interval()によって作成されたTimeoutオブジェクトをキャンセルします。
timeout:set Interval()が返したTimeoutオブジェクト
デモ:

var timeout = setInterval((str) => {
 console.log(str);
}, 1000, 'xiaoqiang');
clearInterval(timeout);

set Timeout(calback,delay[,…args])
説明:
delayミリ秒後に実行する予定のシングルカルバックです。
calback:タイマーがポイントになる時に呼び出す関数です。
delay:calbackを呼び出す前に待つミリ秒数。delayが2147483647より大きい場合、または1より小さい場合、delayは1に設定されます。
…args:calbackを呼び出すときに入るオプションのパラメータです。
デモ:

setTimeout((str) => {
 console.log(str);
}, 1000, 'xiaoqiang');
//xiaoqiang

clearTimeout(timeout)
説明:
setTimeout()によって作成されたTimeoutオブジェクトをキャンセルします。
timeout:setTimeout()が返したTimeoutオブジェクト
デモ:

var timeout = setTimeout((str) => {
 console.log(str);
}, 1000, 'xiaoqiang');
clearTimeout(timeout);

timeout.unref()
説明:
この方法を起動すると、タイマーはイベントサイクルの保持を要求しないと説明し、calbackが実行される前に他のタスクがない場合はイベントサイクルの活性化を維持し、
Nodeプロセスが終了し、calbackは実行されません。
set Timeout()、set Interval()方法で返されるTimeoutオブジェクトは、この方法を有する。
デモ:

var timeout = setTimeout((str) => {
 console.log(str);
}, 5000, 'xiaoqiang');
timeout.unref();
//      ,    callback

timeout.ref()
説明:
この方法を起動すると、タイマがイベントのサイクル保持を要求していることを説明します。すべてのタイマーはデフォルトではイベントサイクルの活動状態を維持しますので、この方法を単独で起動する必要はありません。
以前にtimeout.unref()を使用しない限り、デフォルト値が変更されました。
デモ:

var timeout = setTimeout((str) => {
 console.log(str);
}, 5000, 'xiaoqiang');
timeout.unref();
timeout.ref()
//xiaoqiang

ここで述べたように皆さんのnode.jsプログラムの設計に役に立ちます。