Rumah  >  Artikel  >  hujung hadapan web  >  Beberapa Fungsi Berguna dalam Modul Util Node.js

Beberapa Fungsi Berguna dalam Modul Util Node.js

Susan Sarandon
Susan Sarandonasal
2024-09-23 06:16:08335semak imbas

A Few Useful Functions in Node.js Util Module

Node.js merangkumi julat komponen yang disatukan untuk membentuk persekitaran masa jalan JavaScript. Dalam siri kami tentang Seni Bina Node.js - Pengenalan kepada Node.js, kami meneroka pelbagai komponen yang membentuk Node.js dan fungsi masing-masing.

Dalam Node.js, terdapat banyak modul terbina dalam - iaitu, modul yang disepadukan dari awal. Satu modul sedemikian ialah util, yang, pada pendapat saya, patut diberi perhatian lebih. Modul util terdiri daripada koleksi fungsi utiliti kecil yang boleh membantu dalam situasi tertentu. Dalam artikel ini, kita akan menyelidiki beberapa fungsi ini...

util.promisify dan util.callbackify

Panggil balik ialah salah satu cara terawal untuk mengendalikan kod tak segerak. Walau bagaimanapun, panggilan balik mempunyai beberapa had, seperti mencipta kod bersarang dan menyebabkan "neraka panggilan balik" yang terkenal. Kadangkala, membaca sekeping kod yang ditulis dalam gaya panggil balik boleh menjadi sangat menggembirakan. Menambah fungsi baharu boleh mencabar, kerana ia memerlukan pengenalan lapisan logik tambahan.

Dalam Node.js, terdapat fungsi utiliti untuk menukar fungsi tak segerak menggunakan gaya panggil balik kepada Promises. Fungsi ini berguna apabila anda ingin beralih kepada pendekatan berasaskan Janji dan kemudian menggabungkannya dengan async/menunggu untuk menjadikan kod anda lebih ringkas dan lebih mudah untuk diikuti.

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(); 

Sebaliknya, kami mempunyai util.callbackify untuk menukar kembali fungsi berasaskan Promise kepada panggilan balik.

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);
}); 

util.deprecate

Jika anda kerap menggunakan perpustakaan, anda mungkin perasan mesej konsol yang menunjukkan bahawa sesuatu fungsi telah ditamatkan.

oldFunction() is deprecated. Use newFunction() instead.

Ini ialah pemberitahuan bahawa OldFunction menghampiri penghujung kitaran hayat sokongannya dan mungkin dialih keluar pada masa hadapan. Ia adalah pendekatan biasa untuk mengingatkan pembangun bahawa fungsi menghampiri "persaraan" dan sebaliknya menggunakan fungsi alternatif.

Dalam Node.js, terdapat cara mudah untuk memaparkan pemberitahuan ini jika anda perlu memberi amaran kepada orang lain bahawa fungsi hampir tamat hayatnya.

const util = require('util');

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

const deprecatedFunction = util.deprecate(oldFunction, 'oldFunction() is deprecated. Use newFunction() instead.');

Hanya "bungkus" fungsi lama di dalam util.deprecate. Setiap kali OldFunction dipanggil, mesej amaran akan muncul dalam konsol.

util.types

Dari ES6 dan seterusnya, kami mempunyai fungsi tambahan untuk menyemak jenis data: boolean, tatasusunan, objek, dll.

Modul util mempunyai sifat jenis yang memanjangkan keupayaan untuk menyemak jenis data.

Contohnya:

console.log(util.types.isPromise(Promise.resolve())); // true
console.log(util.types.isRegExp(/abc/)); // true
console.log(util.types.isDate(new Date())); // true

Senarai komprehensif tersedia di util.types | Dokumentasi Node.js.

util.isDeepStrictEqual

isDeepStrictEqual ialah kaedah paling berkesan untuk membandingkan dua objek dan menentukan sama ada ia sama.

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

Selain fungsi ini, modul util menyediakan banyak fungsi utiliti lain, seperti util.styleText untuk memformat output teks dalam konsol dan util.parseEnv untuk menghuraikan kandungan pembolehubah persekitaran dalam fail .env.

Untuk maklumat lanjut, rujuk:

  • Dokumentasi Node.js v22.8.0 | Gunakan

Atas ialah kandungan terperinci Beberapa Fungsi Berguna dalam Modul Util Node.js. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn