В 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.