Каковы различные временные особенности Node.js?

Опубликовано: 1 Августа, 2021

Модули таймера в Node.js состоят из функций, которые помогают контролировать время выполнения кода. Он включает методы setTimeout (), setImmediate () и setInterval ().

1. Метод setTimeout (). Метод setTimeout () используется для планирования выполнения кода через определенное количество миллисекунд. Указанная функция будет выполнена один раз. Мы можем использовать метод clearTimeout (), чтобы предотвратить запуск функции. Метод setTimeout () возвращает идентификатор, который можно использовать в методе clearTimeout ().

Синтаксис:

 setTimeout (обратный вызов, задержка, аргументы)

Параметры:

  • обратный вызов: этот параметр содержит функцию, которая должна быть выполнена.
  • delay: этот параметр содержит количество миллисекунд ожидания перед вызовом функции обратного вызова.
  • args: этот параметр содержит необязательный параметр.

Пример:




let str = "GeeksforGeeks!";
  
setTimeout(function () {
    return console.log(str);
}, 5000);
  
// This console log is executed right away
console.log("Executing setTimeout() method");

Выход:

 Выполнение метода setTimeout ()
GeeksforGeeks!

Обратите внимание, что консоль запускается первой. Уловка заключается в том, что выполнение кода гарантировано только по прошествии хотя бы этого промежутка времени.

2. Метод setImmediate (). Метод setImmediate () используется для выполнения кода в конце текущего цикла цикла событий. Любая функция, переданная в качестве аргумента setImmediate (), является обратным вызовом, который может быть выполнен на следующей итерации цикла событий.

Синтаксис:

 setImmediate (обратный вызов, аргументы)

Параметры:

  • callback: этот параметр содержит функцию, вызываемую в конце этого цикла цикла событий Node.js.
  • args: этот параметр содержит необязательные аргументы функции.

Пример:




setTimeout( function () {
console.log( 'setTimeout() function running' );
}, 5000);
// An interval
setInterval( function () {
console.log( 'setInterval() function running' );
}, 5000);
// An immediate, its callback will be
// executed before those defined above
setImmediate( function () {
console.log( 'setImmediate() function running' );
});
// IO callbacks and code in the normal
// event loop runs before the timers
console.log( 'Simple statement in the event loop' );

Выход:

 Простая инструкция в цикле событий
функция setImmediate () запущена
функция setTimeout () запущена
Функция setInterval () запущена
Функция setInterval () запущена
Функция setInterval () запущена
Функция setInterval () запущена
. . .

Обратите внимание: хотя функция setImmediate определена после функций setTimeout и setInterval, она выполняется впереди них.

3. Метод setInterval (). Метод setInterval () используется для вызова функции через определенные интервалы (в миллисекундах). Он используется для выполнения функции только один раз по истечении указанного периода.
Мы можем использовать метод clearInterval (), чтобы предотвратить запуск функции. Метод setInterval () возвращает идентификатор, который можно использовать в методе clearInterval ().

Синтаксис:

 setInterval (обратный вызов, задержка, аргументы)

Параметры:

  • callback: этот параметр содержит функцию, которая будет вызываться по истечении таймера.
  • delay: этот параметр содержит количество миллисекунд ожидания перед вызовом функции обратного вызова.
  • args: этот параметр содержит необязательные аргументы функции.

Пример:




setInterval( function () {
console.log( 'Welcome to GeeksforGeeks' );
}, 5000);

Выход:

 Добро пожаловать в GeeksforGeeks
Добро пожаловать в GeeksforGeeks
.....

Он будет печатать выходные данные несколько раз с интервалом в 5 секунд.