Как оставить тайм-ауты в Node.js?

Kak Ostavit Tajm Auty V Node Js



В Node.js « Таймеры Модуль планирует задачу, которую можно выполнить через определенный интервал времени, с помощью нескольких встроенных методов. Этот модуль также предоставляет « Тайм-аут ” класс, который создается по умолчанию внутри, когда запланировано “ setTimeout ()' или ' setInterval ()» выполняется. Этот класс продолжает работать даже после того, как указанные методы были остановлены или отменены. Следовательно, пользователю необходимо остановить его, из-за чего цикл событий может остановиться.

Эта статья покажет, как оставить таймауты в Node.js.







Как оставить тайм-ауты в Node.js?

Чтобы выйти или отменить выполнение цикла событий после отмены методов планирования, используйте команду « снять ссылку ()» и « ссылка ()» методы. « снять ссылку ()» запрашивает « Тайм-аут » объект, чтобы деактивировать выполнение цикла событий, поскольку большего не требуется. С другой стороны, « ссылка ()» ссылается на « таймер » объект для проверки того, активен он или деактивирован после вызова « снять ссылку ()».



« снять ссылку ()» останавливает выполнение цикла событий, если перед вызовом указанной функции обратного вызова не нужно запускать другой процесс. Как только все будет сделано, « ссылка ()» проверяет, является ли метод « Тайм-аут ” объект был деактивирован или нет.



Синтаксис метода «ref()»

Работа « ссылка ()» опирается на приведенный ниже обобщенный синтаксис:





тайм-аут. ссылка ( )

Синтаксис метода «unref()»

Работа « процесс.unref ()» зависит от его базового синтаксиса, написанного ниже:

тайм-аут. снять ссылку ( )

Параметры : Оба приведенных выше синтаксиса определения не нуждаются в каких-либо дополнительных аргументах для выполнения своих основных функций.



Возвращаемые значения: « ссылка ()' и ' снять ссылку ()» методы предоставляют « Никто возвращаемый тип.

Пример: применение методов «ref()» и «unref()» для остановки объекта «Timeout».

Этот пример показывает практическую реализацию « ссылка ()' и ' снять ссылку ()» для управления поведением цикла событий по умолчанию и отмены внутренне созданного « Тайм-аут ' объект:

был Тайм-аут '=' setTimeout ( функция мое веселье ( ) {
консоль. бревно ( «Тайм-аут установлен на 1000 мс» , 1000 ) ;
} ) ;
консоль. бревно ( «2.» , Тайм-аут. имеетRef ( ) ) ;
консоль. бревно ( «3.» , Тайм-аут. ссылка ( ) ) ;
консоль. бревно ( '4.' , Тайм-аут. снять ссылку ( ) ) ;
консоль. бревно ( «5.» , Тайм-аут. имеетRef ( ) ) ;
Тайм-аут. ссылка ( )
консоль. бревно ( «6». , Тайм-аут. имеетRef ( ) ) ;
ClearTimeout ( Тайм-аут ) ;
консоль. бревно ( «7. Тайм-аут очищен!» ) ;

Объяснение приведенных выше строк кода написано ниже:

  • Во-первых, « Тайм-аут ” объект применяет “ setTimeout ()», который определяет функцию для отображения указанного оператора задачи после заданной задержки. Этот метод возвращает « Тайм-аут » возражайте внутренне.
  • Далее « консоль.log ()» использует метод « имеетRef ()», чтобы проверить, является ли « Тайм-аут ()» объект существует или нет. Он возвращает «логическое» значение в качестве вывода.
  • После этого « консоль.log ()» использует метод « ссылка ()» для печати возвращенного « Тайм-аут ' объект.
  • Сейчас ' снять ссылку ()» деактивирует метод « Тайм-аут ” объект, если он существует, а затем проверяет результат с помощью объекта “ имеетRef ()».
  • Наконец, ссылка на « Тайм-аут ” объекта еще раз, проверив его существование, а затем “остановив” интервал с помощью “ ClearTimeout ()».

Выход

Выполните « приложение .js», используя заданный « узел<имя файла> » команда:

приложение узла. js

Вывод ниже сначала показывает существование « Тайм-аут » объект, а затем деактивирует его и останавливает интервал соответственно:

Вот и все, что касается ухода из « Тайм-аут » объект позади в Node.js.

Заключение

Чтобы оставить « Тайм-аут ” объект использует встроенный “ снять ссылку ()» и « ссылка ()» методы « Тайм-аут ' сорт. Оба эти метода выполняют операции на основе своих названий и функций. Эти методы обрабатывают поведение цикла событий по умолчанию. Эта статья проиллюстрировала все возможные подходы к отказу от таймаутов в Node.js.