Maison > interface Web > js tutoriel > le corps du texte

Quelques fonctions utiles dans le module util de Node.js

Susan Sarandon
Libérer: 2024-09-23 06:16:08
original
335 Les gens l'ont consulté

A Few Useful Functions in Node.js Util Module

Node.js englobe une gamme de composants qui se réunissent pour former un environnement d'exécution JavaScript. Dans notre série sur l'architecture Node.js - Introduction à Node.js, nous avons exploré les différents composants qui composent Node.js et leurs fonctions respectives.

Dans Node.js, il existe de nombreux modules intégrés, c'est-à-dire des modules intégrés dès le départ. L'un de ces modules est util, qui, à mon avis, mérite plus d'attention. Le module util comprend une collection de petites fonctions utilitaires qui peuvent être utiles dans certaines situations. Dans cet article, nous aborderons certaines de ces fonctions...

util.promisify et util.callbackify

Le rappel est l'un des premiers moyens de gérer le code asynchrone. Cependant, les rappels ont plusieurs limites, telles que la création de code imbriqué et le fameux « enfer des rappels ». Parfois, lire un morceau de code écrit dans un style de rappel peut être écrasant. L'ajout de nouvelles fonctionnalités peut s'avérer difficile, car cela nécessite l'introduction d'une couche logique supplémentaire.

Dans Node.js, il existe une fonction utilitaire pour convertir les fonctions asynchrones en utilisant le style de rappel en Promises. Cette fonction est utile lorsque vous souhaitez passer à une approche basée sur Promise, puis la combiner avec async/await pour rendre votre code plus concis et plus facile à suivre.

const util = require('node:util');
const fs = require('node:fs');

const stat = util.promisify(fs.stat);

async function callStat() {
  const stats = await stat('.');
  console.log(`This directory is owned by ${stats.uid}`);
}

callStat(); 
Copier après la connexion

À l'inverse, nous avons util.callbackify pour reconvertir les fonctions basées sur Promise en rappels.

const util = require('node:util');

async function fn() {
  return 'hello world';
}
const callbackFunction = util.callbackify(fn);

callbackFunction((err, ret) => {
  if (err) throw err;
  console.log(ret);
}); 
Copier après la connexion

util.deprecate

Si vous utilisez fréquemment des bibliothèques, vous avez peut-être remarqué des messages de console indiquant qu'une fonction est obsolète.

oldFunction() is deprecated. Use newFunction() instead.
Copier après la connexion

Il s'agit d'une notification indiquant que l'ancienne fonction approche de la fin de son cycle de vie de support et qu'elle pourrait être supprimée à l'avenir. C'est une approche courante pour rappeler aux développeurs qu'une fonction approche de sa « retraite » et d'utiliser une fonction alternative à la place.

Dans Node.js, il existe un moyen simple d'afficher cette notification si vous devez avertir les autres qu'une fonction approche de sa fin de vie.

const util = require('util');

function oldFunction() {
    console.log('This function is deprecated!');
}

const deprecatedFunction = util.deprecate(oldFunction, 'oldFunction() is deprecated. Use newFunction() instead.');
Copier après la connexion

"Enveloppez" simplement l'ancienne fonction dans util.deprecate. Chaque fois que oldFunction est appelé, le message d'avertissement apparaîtra dans la console.

util.types

À partir d'ES6, nous avons des fonctions supplémentaires pour vérifier le type de données : booléen, tableau, objet, etc.

Le module util possède une propriété types qui étend la capacité de vérifier les types de données.

Par exemple :

console.log(util.types.isPromise(Promise.resolve())); // true
console.log(util.types.isRegExp(/abc/)); // true
console.log(util.types.isDate(new Date())); // true
Copier après la connexion

Une liste complète est disponible sur util.types | Documentation Node.js.

util.isDeepStrictEqual

isDeepStrictEqual est la méthode la plus efficace pour comparer deux objets et déterminer s'ils sont identiques.

const util = require('util');

const obj1 = { a: 1, b: { c: 2 } };
const obj2 = { a: 1, b: { c: 2 } };

console.log(util.isDeepStrictEqual(obj1, obj2)); // true
Copier après la connexion

En plus de ces fonctions, le module util fournit de nombreuses autres fonctions utilitaires, telles que util.styleText pour formater la sortie du texte dans la console et util.parseEnv pour analyser le contenu des variables d'environnement dans les fichiers .env.

Pour plus d'informations, reportez-vous à :

  • Documentation Node.js v22.8.0 | Util

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:dev.to
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal