解釋 Node.js 中的 clearTimeout() 函式


Node.js 中有一個計時器模組,用於安排計時器並在稍後的時間執行特定函式。在 Node.js 中,JavaScript 函式 clearTimeout() 用於透過使用特定 setTimeout() 函式呼叫返回的 timeoutID 來停止 setTimeout() 函式的執行。

如果 timeoutID 與任何之前的呼叫不匹配或給定無效值,則此函式不執行任何操作。setTimeout() JavaScript 函式在使用者指定的時間量或延遲後執行指定的程式碼,並返回一個 ID,這是一個正整數,通常稱為 timeoutID。

Node.js 中 clearTimeout() 函式的語法

讓我們來探索一下 clearTimeout javascript 函式的語法:

clearTimeout(timeoutID)

在上面的語法中,我們傳遞了一個引數,它是 clearTimeout() 函式中的 ‘timeoutID’。此外,setTimeout() JavaScript 函式的函式呼叫的結果是提供給 clearTimeout() 函式引數的值,通常表示為 timeoutID。

使用此 ID,我們可以終止傳遞給 setTimeout() 的函式的執行。clearTimeout() 函式不返回任何內容,或者換句話說,此函式返回未定義的值。

clearTimeout() 函式的工作原理

讓我們以提醒應用程式為例,演示 clearTimeout() JavaScript 函式是如何工作和使用的。

在提醒應用程式中,使用者可以指定應用程式需要發出聲音以發出提醒的特定時間。在使用者提前記住某些事情或不需要應用程式提醒任務的情況下,可能存在一種情況,使用者可以關閉提醒應用程式以接收警報。

與此類似,setTimeout() JavaScript 函式允許程式設計師使用 setTimeout() JavaScript 函式在特定時間後接收警報訊息或執行任何特定程式碼段。

但是,程式設計師可能不再需要執行該程式碼,並且程式設計師希望終止程式碼的執行,這可以透過使用該特定 setTimeout() 函式呼叫的返回值(整數),並將其傳遞給 clearTimeout() JavaScript 函式來實現。

clearTimeout() 函式是一個簡單的操作,除非提供的引數值是尚未執行的 setTimeout() 函式的成員,否則它不執行任何操作,然後 clearTimeout JavaScript 函式將取消它,否則它不執行任何操作。

示例

在此示例中,我們將實現基本程式碼以顯示 setTimeout() 函式和 clearTimeout() 函式的工作原理,因為要展示 clearTimeout() 函式的屬性,需要首先啟動計時器,該計時器只能透過使用 clearTimeout 停止,讓我們來看一下示例。

var time_count = 0;
var tID;
var isOn = false;
function reset() {
   clearTimeout(tID);
   time_count = 0;
   console.log(time_count)
   isTimerOn = false;
}
function Countedtime() {
   console.log(time_count)
   time_count = time_count + 1;
   tID = setTimeout(Countedtime, 1000);
}
function start(){
   if (isOn == false){
      isOn = true;
      Countedtime();
   }
}
function stop(){
   clearTimeout(tID);
   isOn = false;
}

在上面的程式碼中,首先,我們聲明瞭一些變數,例如 ‘time_count’ 用於計算時間,‘isOn’ 用於檢查計時器是否開啟,最後,一個變數用於儲存 setTimeout() 函式提供的計時器 ID。

我們定義了一些方法,例如 reset() 用於重置計數器,並且在其中,我們使用了 clearTimeout() 方法將 ‘tID’ 元素設定為零。還有另外兩個函式 start 和 stop,它們用於啟動和停止計數器。

類似函式

對於 setTimeout() 函式,有 clearTimeout() 函式,我們還有另一個函式 setInterval(),要刪除由 setIntervel() 方法定義的元素是 clearInterval(),它具有與 clearTimeout() 方法相同的語法,讓我們看看 Nodejs 中 clearInterval() 方法的語法:

clearInterval(Id_of_interval)

使用 setTimeout() 和 clearTimeout() 建立秒錶

<!DOCTYPE html>
<html>
<head>
   <title>
   Stop-Watch using setTimeout and clearTimeout methods
   </title>
</head>
<body>
   <h1 style="color: black"> Stop-Watch </h1>
   <div style= "padding-bottom: 10px">
      To reset the StopWatch please click the given button:
   <button onclick="reset_fun()"> Click Me!! </button>
   </div>
   <div style= "padding-bottom: 10px">
      To start the count please click the givern button :
      <button onclick="start_fun()">Click Me!!</button>
   </div>
   <div style= "padding-bottom: 10px">
      Number of seconds passed are:
      <input type="text" id="show_">
   </div>
   <div style= "padding-bottom: 10px">
      To Stop the count press here:
      <button onclick="stop_fun()">Stop</button>
   </div>
   <script>
      var time_count = 0;
      var tID;
      var isOn = false;
      function reset_fun() {
         clearTimeout(tID);
         time_count = 0;
         document.getElementById("show_").value = time_count;
         isTimerOn = false;
      }
      function Countedtime() {
         document.getElementById("show_").value = time_count;
         time_count = time_count + 1;
         tID = setTimeout(Countedtime, 1000);
      }
      function start_fun() {
         if (isOn == false) {
            isOn = true;
            Countedtime();
         }
      }
      function stop_fun() {
         clearTimeout(tID);
         isOn = false;
      }
   </script>
</body>
</html>

在輸出中,我們將得到三個按鈕和一個顯示。按鈕用於啟動、停止和重置秒錶,而顯示將顯示秒錶上經過的秒數。

在上面的程式碼中,我們使用上面為 clearTimeout() 函式定義的語法定義了秒錶的指令。我們使用了相同的指令碼並獲得了完整的可工作秒錶。

首先,我們在其中定義了 html 程式碼的主體,我們定義了用於獲取輸入的按鈕,對於指令碼,我們使用了 script 標籤來新增秒錶工作程式碼。

在本教程中,我們瞭解到在 Node.js 中,JavaScript 函式 clearTimeout() 用於透過使用特定 setTimeout() 函式呼叫返回的 timeoutID 來停止 setTimeout() 函式的執行。

如果 timeoutID 與任何之前的呼叫不匹配或給定無效值,則此函式不執行任何操作。setTimeout() JavaScript 函式在使用者指定的時間量或延遲後執行指定的程式碼,並返回一個 ID,這是一個正整數,通常稱為 timeoutID。

更新於: 2023年3月17日

363 次檢視

開啟您的 職業生涯

透過完成課程獲得認證

開始學習
廣告