Node.js — Цикл событий

Node.js — Цикл событий

От автора: Сегодня мы поговорим о том, для чего нужны в Node js события. Node.js — однопоточное приложение, но оно может поддерживать параллелизм через концепцию событий и обратных вызовов. Каждый API-интерфейс Node.js является асинхронным и однопоточным, он использует асинхронные вызовы функций для поддержания параллелизма. Node использует шаблон проектирования Наблюдателя. Поток Node поддерживает цикл событий, и каждый раз по завершению задачи, он запускает соответствующее событие, которое сигнализирует о выполнении функции прослушивателя события.

Программирование на основе событий

В Node.js часто используются события, и это также одна из причин, по которой Node.js довольно быстр по сравнению с другими подобными технологиями. После запуска сервера Node, в нем просто инициируются собственные переменные, объявляются функции, а затем Node начинает ожидать события.

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

Node.js — Цикл событий

Хотя события очень похожи на обратные вызовы, разница между ними заключается в том, что функции обратного вызова вызываются, когда асинхронная функция возвращает результат, тогда как обработка событий выполняется в соответствии с шаблоном Наблюдателя. Функции, которые отслеживают события, работают как Наблюдатели. При каждом запуске события начинает выполняться его функция-прослушиватель. Node.js содержит несколько встроенных событий, доступных через модуль событий и класс EventEmitter, которые используются для привязки событий и прослушивателей событий следующим образом:

Фреймворк VUE JS: быстрый старт, первые результаты

Получите бесплатный курс и создайте веб-приложение на трендовой Frontend-технологии VUE JS с полного нуля

Узнать подробнее

Ниже приведен синтаксис привязки обработчика события к событию:

Мы можем запустить событие программно следующим образом:

Пример

Создайте файл js с именем main.js со следующим кодом:

Фреймворк VUE JS: быстрый старт, первые результаты

Получите бесплатный курс и создайте веб-приложение на трендовой Frontend-технологии VUE JS с полного нуля

Узнать подробнее

Теперь попробуем запустить приведенную выше программу:

В результате мы получим следующее:

Как работают приложения Node?

В приложении на Node любая асинхронная функция принимает обратный вызов в качестве последнего параметра, а функция обратного вызова принимает ошибку в качестве первого параметра. Вернемся к предыдущему примеру. Создайте текстовый файл с именем input.txt со следующим содержимым.

Создайте файл js с именем main.js, содержащим следующий код:

Здесь fs.readFile() — это асинхронная функция, которая должна считывать файл. Если во время операции чтения возникает ошибка, объект err будет содержать соответствующую ошибку, иначе считывается содержимое файла. readFile передает err и данные в функцию обратного вызова после завершения операции чтения, которая выводит содержимое.

Источник: https://www.tutorialspoint.com/

Редакция: Команда webformyself.

Фреймворк VUE JS: быстрый старт, первые результаты

Получите бесплатный курс и создайте веб-приложение на трендовой Frontend-технологии VUE JS с полного нуля

Узнать подробнее

FullStack-Мастер

FullStack-Мастер. Разработка CRM-системы на Node.js, Express, Angular 6

Научиться

Метки:

Похожие статьи:

Комментарии Вконтакте:

Комментарии Facebook:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

Я не робот.

Spam Protection by WP-SpamFree