Ovaj modul opće namjene sadrži mnoge korisne uslužne funkcije koje vam mogu uštedjeti trud oko pisanja dodatnog koda.

Modul util pruža skup uslužnih programa koje možete koristiti za otklanjanje pogrešaka, pregled i formatiranje podataka u Node.js aplikacijama.

Zaronite u različite funkcije pomoćnog modula i istražite neke primjere koji će vam pomoći da iskoristite ove alate.

Zapisivanje s više pogodnosti

Zapisivanje se odnosi na bilježenje važnih informacija ili događaja, kao što su varijabilne vrijednosti, poruke o pogrešci i tok izvršenja, koji se događaju unutar softverske aplikacije. Zapisivanje ima višestruku svrhu, uključujući otklanjanje pogrešaka, nadzor i reviziju.

Uslužni modul Node.js pruža prikladan mehanizam za bilježenje korištenjem util.debuglog metoda. Omogućuje vam stvaranje funkcija zapisivanja ispravljanja pogrešaka s prostorom naziva, a možete ih omogućiti ili onemogućiti postavljanjem ČVOR_DEBUG varijabla okoline. Evo primjera:

// index.js
konst util = zahtijevati("util");

konst debug = util.debuglog("moja aplikacija"); // inicijalizirati debug logger

instagram viewer

debug("Ovo je poruka o otklanjanju pogrešaka"); // MYAPP 39668: Ovo je poruka o otklanjanju pogrešaka

Ovaj primjer pokazuje kako možete postaviti jednostavan zapisnik za otklanjanje pogrešaka u prostoru imena "myapp" i zabilježiti poruku i ID procesa na konzolu.

Da biste omogućili zapisnike otklanjanja pogrešaka, postavite ČVOR_DEBUG varijablu okruženja u imenski prostor kada pokrenete skriptu:

NODE_DEBUG=myapp čvor indeks.js

Ako želite omogućiti višestruke prostore imena za otklanjanje pogrešaka, dodajte zarez da biste odvojili prostore imena:

NODE_DEBUG=myapp, myapp2,myapp3 čvor indeks.js

Ako ne uključite prostor imena u ČVOR_DEBUG varijabla okoline, pozivi na debuglog će zanemariti taj prostor imena.

The util.debuglog pruža korisnu funkciju, ali ako vaša aplikacija zahtijeva složenije bilježenje, možete upotrijebiti neku od drugih robusnih paketi za bilježenje u ekosustavu Node.js.

Funkcije koje obećavaju za fleksibilnost

Obećanja u JavaScriptu pružaju način za rukovanje asinkronim kodom na strukturiraniji i lakši način omogućavajući vam ulančavanje operacija, odvojeno rukovanje pogreškama i uspješnim događajima i izbjegavanje povratnog poziva pakao.

Iako, ne podržavaju sve ugrađene funkcije obećanja. Međutim, možete "obećati" funkcije koje koriste tradicionalne povratne pozive kako biste im omogućili da podrže obećanja s pomoćnim modulom util.obećati metoda.

Ova metoda uzima funkciju koja koristi tradicionalni sustav povratnog poziva i vraća funkciju koja koristi obećanja.

Na primjer:

konst util = zahtijevati("util");

// Verzija povratnog poziva
funkcijafunkcija povratnog poziva(arg1, arg2, povratni poziv) {
// Asinkroni rad
// Pozovi povratni poziv s pogreškom (ako postoji) i rezultatom
}

// Promisify CallbackFunction
konst callbackFunctionPromise = util.promisify (callbackFunction);

// Obećana verzija
callbackFunctionPromise (arg1, arg2)
.zatim((proizlaziti) => {
// Rezultat obrade
})
.ulov((greška) => {
// Rukovanje pogreškom
});

U gornjem primjeru, util.obećati metoda je pretvorila verziju povratnog poziva funkcije u verziju koja koristi obećanja.

Ova konverzija vam omogućuje korištenje lanca zatim i ulov blokovi, koristiti pokušaj uhvatitii bolje upravljajte svojim asinkronim kodom.

Formatiranje nizova poznatom metodom

Node.js util modul pruža funkciju oblikovanja tzv util.format koji vam omogućuje stvaranje formatiranih nizova. Ova metoda djeluje slično kao the printf funkcija u bashu i drugim programskim jezicima poput C i C++.

The util.format() metoda uzima niz formata koji može sadržavati nula ili više specifikacija formata, kao što je %s (žice), %d (brojevi), kao argument. Također uzima proizvoljan broj vrijednosti koje će zamijeniti njihove odgovarajuće specifikatore.

Na primjer:

konst util = zahtijevati("util");

konst ime = "Bonnie";
konst dob = 30;

konst formattedString = util.format(
"Zovem se %s i imam %d godina.",
Ime,
dob
);

konzola.log (formatirani niz); // Moje ime je Bonnie i imam 30 godina.

Ovaj primjer koristi formatni niz s dva rezervirana mjesta: %s i %d. The %s rezervirano mjesto je za zamjenu niza, dok %d je za numeričku zamjenu. Poziv util.format prosljeđuje odgovarajuće vrijednosti—Ime i dob—za svako rezervirano mjesto.

Ako specifikator nema odgovarajući argument, util.format metoda ga neće zamijeniti i vratit će niz bez mijenjanja:

konst util = zahtijevati("util");

konst formattedString = util.format("Moje ime je %s");
konzola.log (formatirani niz); // Moje ime je %s

Ovaj primjer poziva format sa samo jednim argumentom, tako da metoda vraća izvorni niz.

Postoji mnogo više upotreba modula Util

Osim ovih upotreba, pomoćni modul Node.js nudi i druge pomoćne funkcije. Primjeri uključuju pregled objekata i vrijednosti i odbacivanje zastarjelih alata.

Iskorištavanjem funkcionalnosti koju pruža util modul, možete poboljšati čitljivost i mogućnost održavanja vašeg koda i cjelokupnog tijeka rada.