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

Модуль util предоставляет набор утилит, которые можно использовать для отладки, проверки и форматирования данных в приложениях Node.js.

Изучите различные функции модуля util и изучите несколько примеров, которые помогут вам использовать эти инструменты.

Регистрация с большим удобством

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

Модуль Node.js util предоставляет удобный механизм ведения журнала с помощью util.debuglog метод. Он позволяет создавать функции ведения журнала отладки с пространством имен, и вы можете включать или отключать их, устанавливая параметр NODE_DEBUG переменная окружения. Вот пример:

// index.js
константа полезно =
instagram viewer
требовать("использовать");

константа отладка = util.debuglog("мое приложение"); // инициализируем регистратор отладки

отлаживать("Это отладочное сообщение"); // MYAPP 39668: это отладочное сообщение

В этом примере показано, как можно установить простой регистратор отладки в пространстве имен «myapp» и записать сообщение и его идентификатор процесса на консоль.

Чтобы включить журналы отладки, установите NODE_DEBUG переменная среды в пространство имен при запуске скрипта:

NODE_DEBUG=узел myapp index.js

Если вы хотите включить несколько пространств имен отладки, добавьте запятую для разделения пространств имен:

NODE_DEBUG=myapp, myapp2,myapp3 узел index.js

Если вы не включаете пространство имен в NODE_DEBUG переменная среды, вызовы журнала отладки будут игнорировать это пространство имен.

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

Многообещающие функции для гибкости

Обещания в JavaScript предоставляют способ обработки асинхронного кода в более структурированном и управляемом виде. образом, позволяя вам связывать операции, обрабатывать ошибки и события успеха отдельно и избегать обратных вызовов. ад.

Хотя не все встроенные функции поддерживают промисы. Однако вы можете «обещать» функции, использующие традиционные обратные вызовы, чтобы они могли поддерживать обещания с помощью модуля util. util.promisify метод.

Этот метод принимает функцию, использующую традиционную систему обратного вызова, и возвращает функцию, использующую промисы.

Например:

константа полезно = требовать("использовать");

// Версия обратного вызова
функцияфункция обратного вызова(аргумент1, аргумент2, обратный вызов) {
// Асинхронная операция
// Вызов обратного вызова с ошибкой (если есть) и результатом
}

// Обещаем callbackFunction
константа callbackFunctionPromise = util.promisify(callbackFunction);

// Обещанная версия
callbackFunctionPromise (arg1, arg2)
.затем((результат) => {
// Результат обработки
})
.ловить((ошибка) => {
// Обработка ошибки
});

В приведенном выше примере util.promisify метод преобразовал версию функции обратного вызова в версию, использующую промисы.

Это преобразование позволяет использовать цепочку затем и ловить блоки, использовать Попробуйте пойматьи лучше управляйте своим асинхронным кодом.

Форматирование строк знакомым методом

Node.js использовать Модуль предоставляет функцию форматирования, называемую util.format который позволяет создавать форматированные строки. Этот метод работает аналогично в printf функция в баше и другие языки программирования, такие как C и C++.

util.format () метод принимает строку формата, которая может содержать ноль или более спецификаторов формата, например %s (струны), %d (числа) в качестве аргумента. Он также принимает произвольное количество значений, которые заменят соответствующие им спецификаторы.

Например:

константа полезно = требовать("использовать");

константа имя = "Бонни";
константа возраст = 30;

константа formattedString = util.format(
"Меня зовут %s, мне %d лет.",
имя,
возраст
);

консоль.log(форматированная строка); // Меня зовут Бонни, мне 30 лет.

В этом примере используется строка формата с двумя заполнителями: %s и %d. %s заполнитель для замены строки, а %d для числовой замены. Вызов util.format передает соответствующие значения —имя и возраст— для каждого заполнителя.

Если спецификатор не имеет соответствующего аргумента, util.format метод не заменит его и вернет строку без ее изменения:

константа полезно = требовать("использовать");

константа formattedString = util.format("Меня зовут %s");
консоль.log(форматированная строка); // Меня зовут %s

В этом примере формат вызывается только с одним аргументом, поэтому метод возвращает исходную строку.

Существует множество других применений модуля Util

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

Используя функциональные возможности, предоставляемые модулем util, вы можете улучшить читабельность и удобство сопровождения вашего кода и рабочего процесса в целом.