util module
Modulen node:util stöder behoven hos Node.js interna API:er. Många av verktygen är också användbara för program- och modulutvecklare. Så här kommer du åt den:
const util = require('node:util');
Se källa
Klasser
| MIMEParams |
API:et |
| MIMEType |
En implementering av KLASSEN MIMEType. I enlighet med webbläsarkonventioner implementeras alla egenskaper för En MIME-sträng är en strukturerad sträng som innehåller flera meningsfulla komponenter. Vid parsning returneras ett |
| TextDecoder |
En implementering av WHATWG Encoding Standard
|
| TextEncoder |
En implementering av WHATWG Encoding Standard
Klassen |
Gränssnitt
| CustomPromisifyLegacy | |
| CustomPromisifySymbol | |
| DebugLogger | |
| EncodeIntoResult | |
| InspectOptions | |
| InspectOptionsStylized | |
| ParseArgsConfig |
Funktioner
| aborted(Abort |
Lyssnar på en avbruten händelse på den angivna
|
| add |
Lägger till en parameter i den angivna URL:en |
| assign(any[]) | Kopierar värdena för alla uppräkningsbara egenskaper från ett eller flera källobjekt till ett målobjekt och returnerar målobjektet. |
| auto |
Kontrollerar om inbäddnings-URL:en innehåller autoAuth=true. |
| callbackify(() => Promise<void>) | Tar en
Skrivs ut:
Återanropet körs asynkront och har en begränsad stackspårning.
Om återanropet utlöser utlöser processen en Eftersom
|
| callbackify<T1, T2, T3, T4, T5, T6, TResult>((arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, arg6: T6) => Promise<TResult>) | |
| callbackify<T1, T2, T3, T4, T5, T6>((arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, arg6: T6) => Promise<void>) | |
| callbackify<T1, T2, T3, T4, T5, TResult>((arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5) => Promise<TResult>) | |
| callbackify<T1, T2, T3, T4, T5>((arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5) => Promise<void>) | |
| callbackify<T1, T2, T3, T4, TResult>((arg1: T1, arg2: T2, arg3: T3, arg4: T4) => Promise<TResult>) | |
| callbackify<T1, T2, T3, T4>((arg1: T1, arg2: T2, arg3: T3, arg4: T4) => Promise<void>) | |
| callbackify<T1, T2, T3, TResult>((arg1: T1, arg2: T2, arg3: T3) => Promise<TResult>) | |
| callbackify<T1, T2, T3>((arg1: T1, arg2: T2, arg3: T3) => Promise<void>) | |
| callbackify<T1, T2, TResult>((arg1: T1, arg2: T2) => Promise<TResult>) | |
| callbackify<T1, T2>((arg1: T1, arg2: T2) => Promise<void>) | |
| callbackify<T1, TResult>((arg1: T1) => Promise<TResult>) | |
| callbackify<T1>((arg1: T1) => Promise<void>) | |
| callbackify<TResult>(() => Promise<TResult>) | |
| create |
Genererar en slumpmässig sträng på 5 till 6 tecken. |
| debug(string, (fn: Debug |
Metoden
Om det här programmet körs med
där
Om den körs med
Flera kommaavgränsade Det valfria argumentet
|
| debuglog(string, (fn: Debug |
Metoden
Om det här programmet körs med
där
Om den körs med
Flera kommaavgränsade Det valfria argumentet
|
| deprecate<T>(T, string, string) | Metoden
När den anropas returnerar Om samma valfria
Om kommandoradsflaggorna Om Om kommandoradsflaggan Egenskapen |
| find<T>((x: T) => boolean, T[]) | Hittar det första värdet i en matris som matchar det angivna predikatet. |
| find |
Hittar indexet för det första värdet i en matris som matchar det angivna predikatet. |
| format(any, any[]) | Metoden Om en specificerare inte har något motsvarande argument ersätts det inte:
Värden som inte ingår i formatsträngen formateras med Om det finns fler argument som skickas till metoden
Om det första argumentet inte innehåller en giltig formatspecificerare returnerar
Om endast ett argument skickas till
|
| format |
Den här funktionen är identisk med format, förutom att den tar ett
|
| generateUUID() | Genererar en uuid på 20 tecken. |
| get |
Returnerar slumptal |
| get |
Returnerar en karta över alla systemfelkoder som är tillgängliga från Node.js-API:et.
Mappningen mellan felkoder och felnamn är plattformsberoende.
Se
|
| get |
Returnerar strängnamnet för en numerisk felkod som kommer från ett Node.js API.
Mappningen mellan felkoder och felnamn är plattformsberoende.
Se
|
| get |
Returnerar tidsintervallet mellan två datum i millisekunder |
| inherits(unknown, unknown) | Användning av Ärva prototypmetoderna från en konstruktor till en annan. Prototypen av Detta lägger huvudsakligen till viss indataverifiering ovanpå
ES6-exempel med
|
| inspect(any, boolean, null | number, boolean) | Metoden
Cirkelreferenser pekar på fästpunkten med hjälp av ett referensindex:
I följande exempel inspekteras alla egenskaper för
I följande exempel visas effekten av alternativet
Med alternativet
Alternativet
Alternativet
|
| inspect(any, Inspect |
|
| is |
Alias för Returnerar
|
| is |
Returnerar
|
| is |
Returnerar
|
| is |
Kontrollerar om inbäddningstypen är för att skapa |
| is |
Returnerar
|
| is |
Returnerar Mer information om djup strikt likhet finns i |
| is |
Returnerar
Den här metoden förlitar sig på
|
| is |
Returnerar
|
| is |
Returnerar
|
| is |
Returnerar
|
| is |
Returnerar
|
| is |
Returnerar
|
| is |
Returnerar
|
| is |
Kontrollerar om inbäddnings-URL:en är för RDL-rapporten. |
| is |
Returnerar
|
| is |
Kontrollerar om rapporten sparas. |
| is |
Returnerar
|
| is |
Returnerar
|
| is |
Returnerar
|
| log(string) | Metoden
|
| parse |
Tillhandahåller ett API på högre nivå för kommandoradsargumentparsning än att interagera med
|
| parse |
Stabilitet: 1.1 – Aktiv utveckling Givet ett exempel
|
| promisify((callback: (err?: any) => void) => void) | |
| promisify(Function) | |
| promisify<T1, T2, T3, T4, T5, TResult>((arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, callback: (err: any, result: TResult) => void) => void) | |
| promisify<T1, T2, T3, T4, T5>((arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, callback: (err?: any) => void) => void) | |
| promisify<T1, T2, T3, T4, TResult>((arg1: T1, arg2: T2, arg3: T3, arg4: T4, callback: (err: any, result: TResult) => void) => void) | |
| promisify<T1, T2, T3, T4>((arg1: T1, arg2: T2, arg3: T3, arg4: T4, callback: (err?: any) => void) => void) | |
| promisify<T1, T2, T3, TResult>((arg1: T1, arg2: T2, arg3: T3, callback: (err: any, result: TResult) => void) => void) | |
| promisify<T1, T2, T3>((arg1: T1, arg2: T2, arg3: T3, callback: (err?: any) => void) => void) | |
| promisify<T1, T2, TResult>((arg1: T1, arg2: T2, callback: (err: any, result: TResult) => void) => void) | |
| promisify<T1, T2>((arg1: T1, arg2: T2, callback: (err?: any) => void) => void) | |
| promisify<T1, TResult>((arg1: T1, callback: (err: any, result: TResult) => void) => void) | |
| promisify<T1>((arg1: T1, callback: (err?: any) => void) => void) | |
| promisify<TCustom>(Custom |
Tar en funktion som följer det vanliga motringningsformatet error-first, det vill säga att ta ett
Eller, motsvarande användning av
Om det finns en
Användning av
|
| promisify<TResult>((callback: (err: any, result: TResult) => void) => void) | |
| raise |
Skapar en anpassad händelse med händelsedata på det angivna HTML-elementet. |
| remove<T>((x: T) => boolean, T[]) | |
| strip |
Returnerar
|
| style |
Stabilitet: 1.1 – Aktiv utveckling Den här funktionen returnerar en formaterad text med tanke på
När du skickar en matris med format är formatets ordning vänster till höger så att följande formatmall kan skriva över den föregående.
Den fullständiga listan över format finns i modifierare. |
| to |
Returnerar |
| transferable |
Skapar och returnerar en |
| transferable |
Markerar den angivna
|
Funktionsinformation
aborted(AbortSignal, any)
Lyssnar på en avbruten händelse på den angivna signal och returnerar ett löfte som uppfylls när signal avbryts. Om den skickade resource är skräp som samlas in innan signal avbryts, ska det returnerade löftet förbli väntande på obestämd tid.
import { aborted } from 'node:util';
const dependent = obtainSomethingAbortable();
aborted(dependent.signal, dependent).then(() => {
// Do something when dependent is aborted.
});
dependent.on('event', () => {
dependent.abort();
});
function aborted(signal: AbortSignal, resource: any): Promise<void>
Parametrar
- signal
-
AbortSignal
- resource
-
any
Alla icke-null-entiteter, som är svaga.
Returer
Promise<void>
addParamToUrl(string, string, string)
Lägger till en parameter i den angivna URL:en
function addParamToUrl(url: string, paramName: string, value: string): string
Parametrar
- url
-
string
- paramName
-
string
- value
-
string
Returer
string
assign(any[])
Kopierar värdena för alla uppräkningsbara egenskaper från ett eller flera källobjekt till ett målobjekt och returnerar målobjektet.
function assign(args: any[]): any
Parametrar
- args
-
any[]
Returer
any
autoAuthInEmbedUrl(string)
Kontrollerar om inbäddnings-URL:en innehåller autoAuth=true.
function autoAuthInEmbedUrl(embedUrl: string): boolean
Parametrar
- embedUrl
-
string
Returer
boolean
callbackify(() => Promise<void>)
Tar en async -funktion (eller en funktion som returnerar en Promise) och returnerar en funktion som följer motringningsformatet error-first, d.v.s. att ta en (err, value) => ... motringning som det sista argumentet. I motringningen är det första argumentet avslagsorsaken (eller null om Promise löst) och det andra argumentet är det lösta värdet.
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);
});
Skrivs ut:
hello world
Återanropet körs asynkront och har en begränsad stackspårning.
Om återanropet utlöser utlöser processen en 'uncaughtException' händelse, och om den inte hanteras avslutas den.
Eftersom null har en särskild betydelse som det första argumentet till ett återanrop, om en omsluten funktion avvisar en Promise med ett förfalskningsvärde som orsak, omsluts värdet i en Error med det ursprungliga värdet som lagras i ett fält med namnet reason.
function fn() {
return Promise.reject(null);
}
const callbackFunction = util.callbackify(fn);
callbackFunction((err, ret) => {
// When the Promise was rejected with `null` it is wrapped with an Error and
// the original value is stored in `reason`.
err && Object.hasOwn(err, 'reason') && err.reason === null; // true
});
function callbackify(fn: () => Promise<void>): (callback: (err: NodeJS.ErrnoException) => void) => void
Parametrar
- fn
-
() => Promise<void>
En async funktion
Returer
(callback: (err: NodeJS.ErrnoException) => void) => void
en funktion för återanropsformat
callbackify<T1, T2, T3, T4, T5, T6, TResult>((arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, arg6: T6) => Promise<TResult>)
function callbackify<T1, T2, T3, T4, T5, T6, TResult>(fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, arg6: T6) => Promise<TResult>): (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, arg6: T6, callback: (err: NodeJS.ErrnoException | null, result: TResult) => void) => void
Parametrar
- fn
-
(arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, arg6: T6) => Promise<TResult>
Returer
(arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, arg6: T6, callback: (err: NodeJS.ErrnoException | null, result: TResult) => void) => void
callbackify<T1, T2, T3, T4, T5, T6>((arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, arg6: T6) => Promise<void>)
function callbackify<T1, T2, T3, T4, T5, T6>(fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, arg6: T6) => Promise<void>): (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, arg6: T6, callback: (err: NodeJS.ErrnoException) => void) => void
Parametrar
- fn
-
(arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, arg6: T6) => Promise<void>
Returer
(arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, arg6: T6, callback: (err: NodeJS.ErrnoException) => void) => void
callbackify<T1, T2, T3, T4, T5, TResult>((arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5) => Promise<TResult>)
function callbackify<T1, T2, T3, T4, T5, TResult>(fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5) => Promise<TResult>): (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, callback: (err: NodeJS.ErrnoException | null, result: TResult) => void) => void
Parametrar
- fn
-
(arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5) => Promise<TResult>
Returer
(arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, callback: (err: NodeJS.ErrnoException | null, result: TResult) => void) => void
callbackify<T1, T2, T3, T4, T5>((arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5) => Promise<void>)
function callbackify<T1, T2, T3, T4, T5>(fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5) => Promise<void>): (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, callback: (err: NodeJS.ErrnoException) => void) => void
Parametrar
- fn
-
(arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5) => Promise<void>
Returer
(arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, callback: (err: NodeJS.ErrnoException) => void) => void
callbackify<T1, T2, T3, T4, TResult>((arg1: T1, arg2: T2, arg3: T3, arg4: T4) => Promise<TResult>)
function callbackify<T1, T2, T3, T4, TResult>(fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4) => Promise<TResult>): (arg1: T1, arg2: T2, arg3: T3, arg4: T4, callback: (err: NodeJS.ErrnoException | null, result: TResult) => void) => void
Parametrar
- fn
-
(arg1: T1, arg2: T2, arg3: T3, arg4: T4) => Promise<TResult>
Returer
(arg1: T1, arg2: T2, arg3: T3, arg4: T4, callback: (err: NodeJS.ErrnoException | null, result: TResult) => void) => void
callbackify<T1, T2, T3, T4>((arg1: T1, arg2: T2, arg3: T3, arg4: T4) => Promise<void>)
function callbackify<T1, T2, T3, T4>(fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4) => Promise<void>): (arg1: T1, arg2: T2, arg3: T3, arg4: T4, callback: (err: NodeJS.ErrnoException) => void) => void
Parametrar
- fn
-
(arg1: T1, arg2: T2, arg3: T3, arg4: T4) => Promise<void>
Returer
(arg1: T1, arg2: T2, arg3: T3, arg4: T4, callback: (err: NodeJS.ErrnoException) => void) => void
callbackify<T1, T2, T3, TResult>((arg1: T1, arg2: T2, arg3: T3) => Promise<TResult>)
function callbackify<T1, T2, T3, TResult>(fn: (arg1: T1, arg2: T2, arg3: T3) => Promise<TResult>): (arg1: T1, arg2: T2, arg3: T3, callback: (err: NodeJS.ErrnoException | null, result: TResult) => void) => void
Parametrar
- fn
-
(arg1: T1, arg2: T2, arg3: T3) => Promise<TResult>
Returer
(arg1: T1, arg2: T2, arg3: T3, callback: (err: NodeJS.ErrnoException | null, result: TResult) => void) => void
callbackify<T1, T2, T3>((arg1: T1, arg2: T2, arg3: T3) => Promise<void>)
function callbackify<T1, T2, T3>(fn: (arg1: T1, arg2: T2, arg3: T3) => Promise<void>): (arg1: T1, arg2: T2, arg3: T3, callback: (err: NodeJS.ErrnoException) => void) => void
Parametrar
- fn
-
(arg1: T1, arg2: T2, arg3: T3) => Promise<void>
Returer
(arg1: T1, arg2: T2, arg3: T3, callback: (err: NodeJS.ErrnoException) => void) => void
callbackify<T1, T2, TResult>((arg1: T1, arg2: T2) => Promise<TResult>)
function callbackify<T1, T2, TResult>(fn: (arg1: T1, arg2: T2) => Promise<TResult>): (arg1: T1, arg2: T2, callback: (err: NodeJS.ErrnoException | null, result: TResult) => void) => void
Parametrar
- fn
-
(arg1: T1, arg2: T2) => Promise<TResult>
Returer
(arg1: T1, arg2: T2, callback: (err: NodeJS.ErrnoException | null, result: TResult) => void) => void
callbackify<T1, T2>((arg1: T1, arg2: T2) => Promise<void>)
function callbackify<T1, T2>(fn: (arg1: T1, arg2: T2) => Promise<void>): (arg1: T1, arg2: T2, callback: (err: NodeJS.ErrnoException) => void) => void
Parametrar
- fn
-
(arg1: T1, arg2: T2) => Promise<void>
Returer
(arg1: T1, arg2: T2, callback: (err: NodeJS.ErrnoException) => void) => void
callbackify<T1, TResult>((arg1: T1) => Promise<TResult>)
function callbackify<T1, TResult>(fn: (arg1: T1) => Promise<TResult>): (arg1: T1, callback: (err: NodeJS.ErrnoException, result: TResult) => void) => void
Parametrar
- fn
-
(arg1: T1) => Promise<TResult>
Returer
(arg1: T1, callback: (err: NodeJS.ErrnoException, result: TResult) => void) => void
callbackify<T1>((arg1: T1) => Promise<void>)
function callbackify<T1>(fn: (arg1: T1) => Promise<void>): (arg1: T1, callback: (err: NodeJS.ErrnoException) => void) => void
Parametrar
- fn
-
(arg1: T1) => Promise<void>
Returer
(arg1: T1, callback: (err: NodeJS.ErrnoException) => void) => void
callbackify<TResult>(() => Promise<TResult>)
function callbackify<TResult>(fn: () => Promise<TResult>): (callback: (err: NodeJS.ErrnoException, result: TResult) => void) => void
Parametrar
- fn
-
() => Promise<TResult>
Returer
(callback: (err: NodeJS.ErrnoException, result: TResult) => void) => void
createRandomString()
Genererar en slumpmässig sträng på 5 till 6 tecken.
function createRandomString(): string
Returer
string
debug(string, (fn: DebugLoggerFunction) => void)
Metoden util.debuglog() används för att skapa en funktion som villkorligt skriver felsökningsmeddelanden till stderr baserat på förekomsten av NODE_DEBUGmiljövariabeln. Om det section namnet visas inom värdet för miljövariabeln fungerar den returnerade funktionen ungefär som console.error(). Om inte är den returnerade funktionen en no-op.
const util = require('node:util');
const debuglog = util.debuglog('foo');
debuglog('hello from foo [%d]', 123);
Om det här programmet körs med NODE_DEBUG=foo i miljön kommer det att mata ut ungefär så här:
FOO 3245: hello from foo [123]
där 3245 är process-ID:t. Om den inte körs med den miljövariabeluppsättningen skrivs ingenting ut.
section stöder även jokertecken:
const util = require('node:util');
const debuglog = util.debuglog('foo-bar');
debuglog('hi there, it\'s foo-bar [%d]', 2333);
Om den körs med NODE_DEBUG=foo* i miljön, kommer den att mata ut ungefär så här:
FOO-BAR 3257: hi there, it's foo-bar [2333]
Flera kommaavgränsade section namn kan anges i miljövariabeln NODE_DEBUG: NODE_DEBUG=fs,net,tls.
Det valfria argumentet callback kan användas för att ersätta loggningsfunktionen med en annan funktion som inte har någon initiering eller onödig omslutning.
const util = require('node:util');
let debuglog = util.debuglog('internals', (debug) => {
// Replace with a logging function that optimizes out
// testing if the section is enabled
debuglog = debug;
});
function debug(section: string, callback?: (fn: DebugLoggerFunction) => void): DebugLogger
Parametrar
- section
-
string
En sträng som identifierar den del av programmet som funktionen debuglog skapas för.
- callback
-
(fn: DebugLoggerFunction) => void
Ett återanrop anropades första gången loggningsfunktionen anropas med ett funktionsargument som är en mer optimerad loggningsfunktion.
Returer
Loggningsfunktionen
debuglog(string, (fn: DebugLoggerFunction) => void)
Metoden util.debuglog() används för att skapa en funktion som villkorligt skriver felsökningsmeddelanden till stderr baserat på förekomsten av NODE_DEBUGmiljövariabeln. Om det section namnet visas inom värdet för miljövariabeln fungerar den returnerade funktionen ungefär som console.error(). Om inte är den returnerade funktionen en no-op.
const util = require('node:util');
const debuglog = util.debuglog('foo');
debuglog('hello from foo [%d]', 123);
Om det här programmet körs med NODE_DEBUG=foo i miljön kommer det att mata ut ungefär så här:
FOO 3245: hello from foo [123]
där 3245 är process-ID:t. Om den inte körs med den miljövariabeluppsättningen skrivs ingenting ut.
section stöder även jokertecken:
const util = require('node:util');
const debuglog = util.debuglog('foo-bar');
debuglog('hi there, it\'s foo-bar [%d]', 2333);
Om den körs med NODE_DEBUG=foo* i miljön, kommer den att mata ut ungefär så här:
FOO-BAR 3257: hi there, it's foo-bar [2333]
Flera kommaavgränsade section namn kan anges i miljövariabeln NODE_DEBUG: NODE_DEBUG=fs,net,tls.
Det valfria argumentet callback kan användas för att ersätta loggningsfunktionen med en annan funktion som inte har någon initiering eller onödig omslutning.
const util = require('node:util');
let debuglog = util.debuglog('internals', (debug) => {
// Replace with a logging function that optimizes out
// testing if the section is enabled
debuglog = debug;
});
function debuglog(section: string, callback?: (fn: DebugLoggerFunction) => void): DebugLogger
Parametrar
- section
-
string
En sträng som identifierar den del av programmet som funktionen debuglog skapas för.
- callback
-
(fn: DebugLoggerFunction) => void
Ett återanrop anropades första gången loggningsfunktionen anropas med ett funktionsargument som är en mer optimerad loggningsfunktion.
Returer
Loggningsfunktionen
deprecate<T>(T, string, string)
Metoden util.deprecate() omsluter fn (som kan vara en funktion eller klass) på ett sådant sätt att den markeras som inaktuell.
const util = require('node:util');
exports.obsoleteFunction = util.deprecate(() => {
// Do something here.
}, 'obsoleteFunction() is deprecated. Use newShinyFunction() instead.');
När den anropas returnerar util.deprecate() en funktion som genererar en DeprecationWarning med hjälp av händelsen 'warning'. Varningen genereras och skrivs ut till stderr första gången den returnerade funktionen anropas. När varningen har genererats anropas den omslutna funktionen utan att en varning skickas.
Om samma valfria code anges i flera anrop till util.deprecate()genereras varningen bara en gång för den code.
const util = require('node:util');
const fn1 = util.deprecate(someFunction, someMessage, 'DEP0001');
const fn2 = util.deprecate(someOtherFunction, someOtherMessage, 'DEP0001');
fn1(); // Emits a deprecation warning with code DEP0001
fn2(); // Does not emit a deprecation warning because it has the same code
Om kommandoradsflaggorna --no-deprecation eller --no-warnings används, eller om egenskapen process.noDeprecation är inställd på trueföre till den första utfasningsvarningen, gör util.deprecate()-metoden ingenting.
Om --trace-deprecation- eller --trace-warnings kommandoradsflaggor har angetts, eller om egenskapen process.traceDeprecation är inställd på true, skrivs en varning ut och en stackspårning skrivs ut till stderr första gången den inaktuella funktionen anropas.
Om kommandoradsflaggan --throw-deprecation har angetts eller om egenskapen process.throwDeprecation är inställd på truegenereras ett undantag när den inaktuella funktionen anropas.
Egenskapen --throw-deprecation kommandoradsflagga och process.throwDeprecation har företräde framför --trace-deprecation och process.traceDeprecation.
function deprecate<T>(fn: T, msg: string, code?: string): T
Parametrar
- fn
-
T
Funktionen som är inaktuell.
- msg
-
string
Ett varningsmeddelande som ska visas när den inaktuella funktionen anropas.
- code
-
string
En utfasningskod. En lista med koder finns i list of deprecated APIs.
Returer
T
Den inaktuella funktionen omsluten för att generera en varning.
find<T>((x: T) => boolean, T[])
Hittar det första värdet i en matris som matchar det angivna predikatet.
function find<T>(predicate: (x: T) => boolean, xs: T[]): T
Parametrar
- predicate
-
(x: T) => boolean
- xs
-
T[]
Returer
T
findIndex<T>((x: T) => boolean, T[])
Hittar indexet för det första värdet i en matris som matchar det angivna predikatet.
function findIndex<T>(predicate: (x: T) => boolean, xs: T[]): number
Parametrar
- predicate
-
(x: T) => boolean
- xs
-
T[]
Returer
number
format(any, any[])
Metoden util.format() returnerar en formaterad sträng med det första argumentet som en printf-liknande formatsträng som kan innehålla noll eller fler formatspecificerare. Varje specificerare ersätts med det konverterade värdet från motsvarande argument. De som stöds är:
Om en specificerare inte har något motsvarande argument ersätts det inte:
util.format('%s:%s', 'foo');
// Returns: 'foo:%s'
Värden som inte ingår i formatsträngen formateras med util.inspect() om deras typ inte är string.
Om det finns fler argument som skickas till metoden util.format() än antalet specificerare sammanfogas de extra argumenten med den returnerade strängen, avgränsade med blanksteg:
util.format('%s:%s', 'foo', 'bar', 'baz');
// Returns: 'foo:bar baz'
Om det första argumentet inte innehåller en giltig formatspecificerare returnerar util.format() en sträng som är sammanlänkningen av alla argument avgränsade med blanksteg:
util.format(1, 2, 3);
// Returns: '1 2 3'
Om endast ett argument skickas till util.format()returneras det som det är utan formatering:
util.format('%% %s');
// Returns: '%% %s'
util.format() är en synkron metod som är avsedd som ett felsökningsverktyg.
Vissa indatavärden kan ha betydande prestandaomkostnader som kan blockera händelseloopen. Använd den här funktionen med försiktighet och aldrig i en snabbkodssökväg.
function format(format?: any, param: any[]): string
Parametrar
- format
-
any
En printf-liknande formatsträng.
- param
-
any[]
Returer
string
formatWithOptions(InspectOptions, any, any[])
Den här funktionen är identisk med format, förutom att den tar ett inspectOptions argument som anger alternativ som skickas vidare till inspektera.
util.formatWithOptions({ colors: true }, 'See object %O', { foo: 42 });
// Returns 'See object { foo: 42 }', where `42` is colored as a number
// when printed to a terminal.
function formatWithOptions(inspectOptions: InspectOptions, format?: any, param: any[]): string
Parametrar
- inspectOptions
- InspectOptions
- format
-
any
- param
-
any[]
Returer
string
generateUUID()
Genererar en uuid på 20 tecken.
function generateUUID(): string
Returer
string
getRandomValue()
Returnerar slumptal
function getRandomValue(): number
Returer
number
getSystemErrorMap()
Returnerar en karta över alla systemfelkoder som är tillgängliga från Node.js-API:et.
Mappningen mellan felkoder och felnamn är plattformsberoende.
Se Common System Errors för namnen på vanliga fel.
fs.access('file/that/does/not/exist', (err) => {
const errorMap = util.getSystemErrorMap();
const name = errorMap.get(err.errno);
console.error(name); // ENOENT
});
function getSystemErrorMap(): Map<number, [string, string]>
Returer
Map<number, [string, string]>
getSystemErrorName(number)
Returnerar strängnamnet för en numerisk felkod som kommer från ett Node.js API.
Mappningen mellan felkoder och felnamn är plattformsberoende.
Se Common System Errors för namnen på vanliga fel.
fs.access('file/that/does/not/exist', (err) => {
const name = util.getSystemErrorName(err.errno);
console.error(name); // ENOENT
});
function getSystemErrorName(err: number): string
Parametrar
- err
-
number
Returer
string
getTimeDiffInMilliseconds(Date, Date)
Returnerar tidsintervallet mellan två datum i millisekunder
function getTimeDiffInMilliseconds(start: Date, end: Date): number
Parametrar
- start
-
Date
- end
-
Date
Returer
number
inherits(unknown, unknown)
Användning av util.inherits() rekommenderas inte. Använd nyckelorden ES6 class och extends för att få stöd för arv på språknivå. Observera också att de två formatmallarna är semantiskt inkompatibla.
Ärva prototypmetoderna från en konstruktor till en annan. Prototypen av constructor anges till ett nytt objekt som skapats från superConstructor.
Detta lägger huvudsakligen till viss indataverifiering ovanpåObject.setPrototypeOf(constructor.prototype, superConstructor.prototype).
Som en extra bekvämlighet kan superConstructor nås via constructor.super_ egenskapen.
const util = require('node:util');
const EventEmitter = require('node:events');
function MyStream() {
EventEmitter.call(this);
}
util.inherits(MyStream, EventEmitter);
MyStream.prototype.write = function(data) {
this.emit('data', data);
};
const stream = new MyStream();
console.log(stream instanceof EventEmitter); // true
console.log(MyStream.super_ === EventEmitter); // true
stream.on('data', (data) => {
console.log(`Received data: "${data}"`);
});
stream.write('It works!'); // Received data: "It works!"
ES6-exempel med class och extends:
const EventEmitter = require('node:events');
class MyStream extends EventEmitter {
write(data) {
this.emit('data', data);
}
}
const stream = new MyStream();
stream.on('data', (data) => {
console.log(`Received data: "${data}"`);
});
stream.write('With ES6');
function inherits(constructor: unknown, superConstructor: unknown)
Parametrar
- constructor
-
unknown
- superConstructor
-
unknown
inspect(any, boolean, null | number, boolean)
Metoden util.inspect() returnerar en strängrepresentation av object som är avsedd för felsökning. Utdata från util.inspect kan ändras när som helst och bör inte vara beroende av programmatiskt. Ytterligare options kan skickas som ändrar resultatet.
util.inspect() använder konstruktorns namn och/eller @@toStringTag för att skapa en identifierbar tagg för ett inspekterat värde.
class Foo {
get [Symbol.toStringTag]() {
return 'bar';
}
}
class Bar {}
const baz = Object.create(null, { [Symbol.toStringTag]: { value: 'foo' } });
util.inspect(new Foo()); // 'Foo [bar] {}'
util.inspect(new Bar()); // 'Bar {}'
util.inspect(baz); // '[foo] {}'
Cirkelreferenser pekar på fästpunkten med hjälp av ett referensindex:
const { inspect } = require('node:util');
const obj = {};
obj.a = [obj];
obj.b = {};
obj.b.inner = obj.b;
obj.b.obj = obj;
console.log(inspect(obj));
// <ref *1> {
// a: [ [Circular *1] ],
// b: <ref *2> { inner: [Circular *2], obj: [Circular *1] }
// }
I följande exempel inspekteras alla egenskaper för util-objektet:
const util = require('node:util');
console.log(util.inspect(util, { showHidden: true, depth: null }));
I följande exempel visas effekten av alternativet compact:
const util = require('node:util');
const o = {
a: [1, 2, [[
'Lorem ipsum dolor sit amet,\nconsectetur adipiscing elit, sed do ' +
'eiusmod \ntempor incididunt ut labore et dolore magna aliqua.',
'test',
'foo']], 4],
b: new Map([['za', 1], ['zb', 'test']]),
};
console.log(util.inspect(o, { compact: true, depth: 5, breakLength: 80 }));
// { a:
// [ 1,
// 2,
// [ [ 'Lorem ipsum dolor sit amet,\nconsectetur [...]', // A long line
// 'test',
// 'foo' ] ],
// 4 ],
// b: Map(2) { 'za' => 1, 'zb' => 'test' } }
// Setting `compact` to false or an integer creates more reader friendly output.
console.log(util.inspect(o, { compact: false, depth: 5, breakLength: 80 }));
// {
// a: [
// 1,
// 2,
// [
// [
// 'Lorem ipsum dolor sit amet,\n' +
// 'consectetur adipiscing elit, sed do eiusmod \n' +
// 'tempor incididunt ut labore et dolore magna aliqua.',
// 'test',
// 'foo'
// ]
// ],
// 4
// ],
// b: Map(2) {
// 'za' => 1,
// 'zb' => 'test'
// }
// }
// Setting `breakLength` to e.g. 150 will print the "Lorem ipsum" text in a
// single line.
Med alternativet showHidden kan WeakMap och WeakSet poster inspekteras. Om det finns fler poster än maxArrayLengthfinns det ingen garanti för vilka poster som visas. Det innebär att om du hämtar samma WeakSet poster två gånger kan det resultera i olika utdata. Dessutom kan poster utan kvarvarande starka referenser vara skräp som samlas in när som helst.
const { inspect } = require('node:util');
const obj = { a: 1 };
const obj2 = { b: 2 };
const weakSet = new WeakSet([obj, obj2]);
console.log(inspect(weakSet, { showHidden: true }));
// WeakSet { { a: 1 }, { b: 2 } }
Alternativet sorted säkerställer att infogningsordningen för ett objekts egenskap inte påverkar resultatet av util.inspect().
const { inspect } = require('node:util');
const assert = require('node:assert');
const o1 = {
b: [2, 3, 1],
a: '`a` comes before `b`',
c: new Set([2, 3, 1]),
};
console.log(inspect(o1, { sorted: true }));
// { a: '`a` comes before `b`', b: [ 2, 3, 1 ], c: Set(3) { 1, 2, 3 } }
console.log(inspect(o1, { sorted: (a, b) => b.localeCompare(a) }));
// { c: Set(3) { 3, 2, 1 }, b: [ 2, 3, 1 ], a: '`a` comes before `b`' }
const o2 = {
c: new Set([2, 1, 3]),
a: '`a` comes before `b`',
b: [2, 3, 1],
};
assert.strict.equal(
inspect(o1, { sorted: true }),
inspect(o2, { sorted: true }),
);
Alternativet numericSeparator lägger till ett understreck var tredje siffra i alla tal.
const { inspect } = require('node:util');
const thousand = 1_000;
const million = 1_000_000;
const bigNumber = 123_456_789n;
const bigDecimal = 1_234.123_45;
console.log(inspect(thousand, { numericSeparator: true }));
// 1_000
console.log(inspect(million, { numericSeparator: true }));
// 1_000_000
console.log(inspect(bigNumber, { numericSeparator: true }));
// 123_456_789n
console.log(inspect(bigDecimal, { numericSeparator: true }));
// 1_234.123_45
util.inspect() är en synkron metod som är avsedd för felsökning. Dess maximala utdatalängd är cirka 128 MiB. Indata som resulterar i längre utdata trunkeras.
function inspect(object: any, showHidden?: boolean, depth?: null | number, color?: boolean): string
Parametrar
- object
-
any
Alla JavaScript-primitiva eller Object.
- showHidden
-
boolean
- depth
-
null | number
- color
-
boolean
Returer
string
Representationen av object.
inspect(any, InspectOptions)
function inspect(object: any, options?: InspectOptions): string
Parametrar
- object
-
any
- options
- InspectOptions
Returer
string
isArray(unknown)
Varning
Det här API:et är nu inaktuellt.
Since v4.0.0 - Use isArray instead.
Alias för Array.isArray().
Returnerar true om den angivna object är en Array. Annars returnerar false.
const util = require('node:util');
util.isArray([]);
// Returns: true
util.isArray(new Array());
// Returns: true
util.isArray({});
// Returns: false
function isArray(object: unknown): object
Parametrar
- object
-
unknown
Returer
object
isBoolean(unknown)
Varning
Det här API:et är nu inaktuellt.
Since v4.0.0 - Use typeof value === 'boolean' instead.
Returnerar true om den angivna object är en Boolean. Annars returnerar false.
const util = require('node:util');
util.isBoolean(1);
// Returns: false
util.isBoolean(0);
// Returns: false
util.isBoolean(false);
// Returns: true
function isBoolean(object: unknown): object
Parametrar
- object
-
unknown
Returer
object
isBuffer(unknown)
Varning
Det här API:et är nu inaktuellt.
Since v4.0.0 - Use isBuffer instead.
Returnerar true om den angivna object är en Buffer. Annars returnerar false.
const util = require('node:util');
util.isBuffer({ length: 0 });
// Returns: false
util.isBuffer([]);
// Returns: false
util.isBuffer(Buffer.from('hello world'));
// Returns: true
function isBuffer(object: unknown): object
Parametrar
- object
-
unknown
Returer
object
isCreate(string)
Kontrollerar om inbäddningstypen är för att skapa
function isCreate(embedType: string): boolean
Parametrar
- embedType
-
string
Returer
boolean
isDate(unknown)
Returnerar true om den angivna object är en Date. Annars returnerar false.
const util = require('node:util');
util.isDate(new Date());
// Returns: true
util.isDate(Date());
// false (without 'new' returns a String)
util.isDate({});
// Returns: false
function isDate(object: unknown): object
Parametrar
- object
-
unknown
Returer
object
isDeepStrictEqual(unknown, unknown)
Returnerar true om det finns en strikt likhet mellan val1 och val2.
Annars returnerar false.
Mer information om djup strikt likhet finns i assert.deepStrictEqual().
function isDeepStrictEqual(val1: unknown, val2: unknown): boolean
Parametrar
- val1
-
unknown
- val2
-
unknown
Returer
boolean
isError(unknown)
Returnerar true om den angivna object är en Error. Annars returnerar false.
const util = require('node:util');
util.isError(new Error());
// Returns: true
util.isError(new TypeError());
// Returns: true
util.isError({ name: 'Error', message: 'an error occurred' });
// Returns: false
Den här metoden förlitar sig på Object.prototype.toString() beteende. Det går att få ett felaktigt resultat när argumentet object manipulerar @@toStringTag.
const util = require('node:util');
const obj = { name: 'Error', message: 'an error occurred' };
util.isError(obj);
// Returns: false
obj[Symbol.toStringTag] = 'Error';
util.isError(obj);
// Returns: true
function isError(object: unknown): object
Parametrar
- object
-
unknown
Returer
object
isFunction(unknown)
Varning
Det här API:et är nu inaktuellt.
Since v4.0.0 - Use typeof value === 'function' instead.
Returnerar true om den angivna object är en Function. Annars returnerar false.
const util = require('node:util');
function Foo() {}
const Bar = () => {};
util.isFunction({});
// Returns: false
util.isFunction(Foo);
// Returns: true
util.isFunction(Bar);
// Returns: true
function isFunction(object: unknown): boolean
Parametrar
- object
-
unknown
Returer
boolean
isNull(unknown)
Varning
Det här API:et är nu inaktuellt.
Since v4.0.0 - Use value === null instead.
Returnerar true om den angivna object är strikt null. Annars returnerarfalse.
const util = require('node:util');
util.isNull(0);
// Returns: false
util.isNull(undefined);
// Returns: false
util.isNull(null);
// Returns: true
function isNull(object: unknown): object
Parametrar
- object
-
unknown
Returer
object
isNullOrUndefined(unknown)
Varning
Det här API:et är nu inaktuellt.
Since v4.0.0 - Use value === undefined || value === null instead.
Returnerar true om den angivna object är null eller undefined. Annars returnerar false.
const util = require('node:util');
util.isNullOrUndefined(0);
// Returns: false
util.isNullOrUndefined(undefined);
// Returns: true
util.isNullOrUndefined(null);
// Returns: true
function isNullOrUndefined(object: unknown): object
Parametrar
- object
-
unknown
Returer
object
isNumber(unknown)
Varning
Det här API:et är nu inaktuellt.
Since v4.0.0 - Use typeof value === 'number' instead.
Returnerar true om den angivna object är en Number. Annars returnerar false.
const util = require('node:util');
util.isNumber(false);
// Returns: false
util.isNumber(Infinity);
// Returns: true
util.isNumber(0);
// Returns: true
util.isNumber(NaN);
// Returns: true
function isNumber(object: unknown): object
Parametrar
- object
-
unknown
Returer
object
isObject(unknown)
Varning
Det här API:et är nu inaktuellt.
Since v4.0.0 - Use value !== null && typeof value === 'object' instead.
Returnerar true om den angivna object är strikt en Objectoch inte enFunction (även om funktioner är objekt i JavaScript).
Annars returnerar false.
const util = require('node:util');
util.isObject(5);
// Returns: false
util.isObject(null);
// Returns: false
util.isObject({});
// Returns: true
util.isObject(() => {});
// Returns: false
function isObject(object: unknown): boolean
Parametrar
- object
-
unknown
Returer
boolean
isPrimitive(unknown)
Varning
Det här API:et är nu inaktuellt.
Since v4.0.0 - Use (typeof value !== 'object' && typeof value !== 'function') || value === null instead.
Returnerar true om den angivna object är en primitiv typ. Annars returnerarfalse.
const util = require('node:util');
util.isPrimitive(5);
// Returns: true
util.isPrimitive('foo');
// Returns: true
util.isPrimitive(false);
// Returns: true
util.isPrimitive(null);
// Returns: true
util.isPrimitive(undefined);
// Returns: true
util.isPrimitive({});
// Returns: false
util.isPrimitive(() => {});
// Returns: false
util.isPrimitive(/^$/);
// Returns: false
util.isPrimitive(new Date());
// Returns: false
function isPrimitive(object: unknown): boolean
Parametrar
- object
-
unknown
Returer
boolean
isRDLEmbed(string)
Kontrollerar om inbäddnings-URL:en är för RDL-rapporten.
function isRDLEmbed(embedUrl: string): boolean
Parametrar
- embedUrl
-
string
Returer
boolean
isRegExp(unknown)
Varning
Det här API:et är nu inaktuellt.
Since v4.0.0 - Deprecated
Returnerar true om den angivna object är en RegExp. Annars returnerar false.
const util = require('node:util');
util.isRegExp(/some regexp/);
// Returns: true
util.isRegExp(new RegExp('another regexp'));
// Returns: true
util.isRegExp({});
// Returns: false
function isRegExp(object: unknown): object
Parametrar
- object
-
unknown
Returer
object
isSavedInternal(HttpPostMessage, string, Window)
Kontrollerar om rapporten sparas.
function isSavedInternal(hpm: HttpPostMessage, uid: string, contentWindow: Window): Promise<boolean>
Parametrar
- hpm
-
HttpPostMessage
- uid
-
string
- contentWindow
-
Window
Returer
Promise<boolean>
isString(unknown)
Varning
Det här API:et är nu inaktuellt.
Since v4.0.0 - Use typeof value === 'string' instead.
Returnerar true om den angivna object är en string. Annars returnerar false.
const util = require('node:util');
util.isString('');
// Returns: true
util.isString('foo');
// Returns: true
util.isString(String('foo'));
// Returns: true
util.isString(5);
// Returns: false
function isString(object: unknown): object
Parametrar
- object
-
unknown
Returer
object
isSymbol(unknown)
Varning
Det här API:et är nu inaktuellt.
Since v4.0.0 - Use typeof value === 'symbol' instead.
Returnerar true om den angivna object är en Symbol. Annars returnerar false.
const util = require('node:util');
util.isSymbol(5);
// Returns: false
util.isSymbol('foo');
// Returns: false
util.isSymbol(Symbol('foo'));
// Returns: true
function isSymbol(object: unknown): object
Parametrar
- object
-
unknown
Returer
object
isUndefined(unknown)
Varning
Det här API:et är nu inaktuellt.
Since v4.0.0 - Use value === undefined instead.
Returnerar true om den angivna object är undefined. Annars returnerar false.
const util = require('node:util');
const foo = undefined;
util.isUndefined(5);
// Returns: false
util.isUndefined(foo);
// Returns: true
util.isUndefined(null);
// Returns: false
function isUndefined(object: unknown): object
Parametrar
- object
-
unknown
Returer
object
log(string)
Varning
Det här API:et är nu inaktuellt.
Since v6.0.0 - Use a third party module instead.
Metoden util.log() skriver ut den angivna string till stdout med en inkluderad tidsstämpel.
const util = require('node:util');
util.log('Timestamped message.');
function log(string: string)
Parametrar
- string
-
string
parseArgs<T>(T)
Tillhandahåller ett API på högre nivå för kommandoradsargumentparsning än att interagera med process.argv direkt. Tar en specifikation för de förväntade argumenten och returnerar ett strukturerat objekt med de parsade alternativen och positionerna.
import { parseArgs } from 'node:util';
const args = ['-f', '--bar', 'b'];
const options = {
foo: {
type: 'boolean',
short: 'f',
},
bar: {
type: 'string',
},
};
const {
values,
positionals,
} = parseArgs({ args, options });
console.log(values, positionals);
// Prints: [Object: null prototype] { foo: true, bar: 'b' } []
function parseArgs<T>(config?: T): ParsedResults<T>
Parametrar
- config
-
T
Används för att ange argument för parsning och för att konfigurera parsern.
config stöder följande egenskaper:
Returer
ParsedResults<T>
De parsade kommandoradsargumenten:
parseEnv(string)
Stabilitet: 1.1 – Aktiv utveckling Givet ett exempel .env fil:
const { parseEnv } = require('node:util');
parseEnv('HELLO=world\nHELLO=oh my\n');
// Returns: { HELLO: 'oh my' }
function parseEnv(content: string): object
Parametrar
- content
-
string
Råinnehållet i en .env fil.
Returer
object
promisify((callback: (err?: any) => void) => void)
function promisify(fn: (callback: (err?: any) => void) => void): () => Promise<void>
Parametrar
- fn
-
(callback: (err?: any) => void) => void
Returer
() => Promise<void>
promisify(Function)
function promisify(fn: Function): Function
Parametrar
- fn
-
Function
Returer
Function
promisify<T1, T2, T3, T4, T5, TResult>((arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, callback: (err: any, result: TResult) => void) => void)
function promisify<T1, T2, T3, T4, T5, TResult>(fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, callback: (err: any, result: TResult) => void) => void): (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5) => Promise<TResult>
Parametrar
- fn
-
(arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, callback: (err: any, result: TResult) => void) => void
Returer
(arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5) => Promise<TResult>
promisify<T1, T2, T3, T4, T5>((arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, callback: (err?: any) => void) => void)
function promisify<T1, T2, T3, T4, T5>(fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, callback: (err?: any) => void) => void): (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5) => Promise<void>
Parametrar
- fn
-
(arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, callback: (err?: any) => void) => void
Returer
(arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5) => Promise<void>
promisify<T1, T2, T3, T4, TResult>((arg1: T1, arg2: T2, arg3: T3, arg4: T4, callback: (err: any, result: TResult) => void) => void)
function promisify<T1, T2, T3, T4, TResult>(fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, callback: (err: any, result: TResult) => void) => void): (arg1: T1, arg2: T2, arg3: T3, arg4: T4) => Promise<TResult>
Parametrar
- fn
-
(arg1: T1, arg2: T2, arg3: T3, arg4: T4, callback: (err: any, result: TResult) => void) => void
Returer
(arg1: T1, arg2: T2, arg3: T3, arg4: T4) => Promise<TResult>
promisify<T1, T2, T3, T4>((arg1: T1, arg2: T2, arg3: T3, arg4: T4, callback: (err?: any) => void) => void)
function promisify<T1, T2, T3, T4>(fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, callback: (err?: any) => void) => void): (arg1: T1, arg2: T2, arg3: T3, arg4: T4) => Promise<void>
Parametrar
- fn
-
(arg1: T1, arg2: T2, arg3: T3, arg4: T4, callback: (err?: any) => void) => void
Returer
(arg1: T1, arg2: T2, arg3: T3, arg4: T4) => Promise<void>
promisify<T1, T2, T3, TResult>((arg1: T1, arg2: T2, arg3: T3, callback: (err: any, result: TResult) => void) => void)
function promisify<T1, T2, T3, TResult>(fn: (arg1: T1, arg2: T2, arg3: T3, callback: (err: any, result: TResult) => void) => void): (arg1: T1, arg2: T2, arg3: T3) => Promise<TResult>
Parametrar
- fn
-
(arg1: T1, arg2: T2, arg3: T3, callback: (err: any, result: TResult) => void) => void
Returer
(arg1: T1, arg2: T2, arg3: T3) => Promise<TResult>
promisify<T1, T2, T3>((arg1: T1, arg2: T2, arg3: T3, callback: (err?: any) => void) => void)
function promisify<T1, T2, T3>(fn: (arg1: T1, arg2: T2, arg3: T3, callback: (err?: any) => void) => void): (arg1: T1, arg2: T2, arg3: T3) => Promise<void>
Parametrar
- fn
-
(arg1: T1, arg2: T2, arg3: T3, callback: (err?: any) => void) => void
Returer
(arg1: T1, arg2: T2, arg3: T3) => Promise<void>
promisify<T1, T2, TResult>((arg1: T1, arg2: T2, callback: (err: any, result: TResult) => void) => void)
function promisify<T1, T2, TResult>(fn: (arg1: T1, arg2: T2, callback: (err: any, result: TResult) => void) => void): (arg1: T1, arg2: T2) => Promise<TResult>
Parametrar
- fn
-
(arg1: T1, arg2: T2, callback: (err: any, result: TResult) => void) => void
Returer
(arg1: T1, arg2: T2) => Promise<TResult>
promisify<T1, T2>((arg1: T1, arg2: T2, callback: (err?: any) => void) => void)
function promisify<T1, T2>(fn: (arg1: T1, arg2: T2, callback: (err?: any) => void) => void): (arg1: T1, arg2: T2) => Promise<void>
Parametrar
- fn
-
(arg1: T1, arg2: T2, callback: (err?: any) => void) => void
Returer
(arg1: T1, arg2: T2) => Promise<void>
promisify<T1, TResult>((arg1: T1, callback: (err: any, result: TResult) => void) => void)
function promisify<T1, TResult>(fn: (arg1: T1, callback: (err: any, result: TResult) => void) => void): (arg1: T1) => Promise<TResult>
Parametrar
- fn
-
(arg1: T1, callback: (err: any, result: TResult) => void) => void
Returer
(arg1: T1) => Promise<TResult>
promisify<T1>((arg1: T1, callback: (err?: any) => void) => void)
function promisify<T1>(fn: (arg1: T1, callback: (err?: any) => void) => void): (arg1: T1) => Promise<void>
Parametrar
- fn
-
(arg1: T1, callback: (err?: any) => void) => void
Returer
(arg1: T1) => Promise<void>
promisify<TCustom>(CustomPromisify<TCustom>)
Tar en funktion som följer det vanliga motringningsformatet error-first, det vill säga att ta ett (err, value) => ... motringning som det sista argumentet och returnerar en version som returnerar löften.
const util = require('node:util');
const fs = require('node:fs');
const stat = util.promisify(fs.stat);
stat('.').then((stats) => {
// Do something with `stats`
}).catch((error) => {
// Handle the error.
});
Eller, motsvarande användning av async functions:
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();
Om det finns en original[util.promisify.custom] egenskap returnerar promisify dess värde, se Custom promisified functions.
promisify() förutsätter att original är en funktion som tar ett återanrop som slutargument i alla fall. Om original inte är en funktion utlöser promisify() ett fel. Om original är en funktion men dess sista argument inte är ett fel-första återanrop, skickas det fortfarande ett fel-första återanrop som sitt sista argument.
Användning av promisify() på klassmetoder eller andra metoder som använder this kanske inte fungerar som förväntat om de inte hanteras särskilt:
const util = require('node:util');
class Foo {
constructor() {
this.a = 42;
}
bar(callback) {
callback(null, this.a);
}
}
const foo = new Foo();
const naiveBar = util.promisify(foo.bar);
// TypeError: Cannot read property 'a' of undefined
// naiveBar().then(a => console.log(a));
naiveBar.call(foo).then((a) => console.log(a)); // '42'
const bindBar = naiveBar.bind(foo);
bindBar().then((a) => console.log(a)); // '42'
function promisify<TCustom>(fn: CustomPromisify<TCustom>): TCustom
Parametrar
- fn
-
CustomPromisify<TCustom>
Returer
TCustom
promisify<TResult>((callback: (err: any, result: TResult) => void) => void)
function promisify<TResult>(fn: (callback: (err: any, result: TResult) => void) => void): () => Promise<TResult>
Parametrar
- fn
-
(callback: (err: any, result: TResult) => void) => void
Returer
() => Promise<TResult>
raiseCustomEvent(HTMLElement, string, any)
Skapar en anpassad händelse med händelsedata på det angivna HTML-elementet.
function raiseCustomEvent(element: HTMLElement, eventName: string, eventData: any)
Parametrar
- element
-
HTMLElement
- eventName
-
string
- eventData
-
any
remove<T>((x: T) => boolean, T[])
function remove<T>(predicate: (x: T) => boolean, xs: T[])
Parametrar
- predicate
-
(x: T) => boolean
- xs
-
T[]
stripVTControlCharacters(string)
Returnerar str med ansi-undantagskoder borttagna.
console.log(util.stripVTControlCharacters('\u001B[4mvalue\u001B[0m'));
// Prints "value"
function stripVTControlCharacters(str: string): string
Parametrar
- str
-
string
Returer
string
styleText(ForegroundColors | BackgroundColors | Modifiers | (ForegroundColors | BackgroundColors | Modifiers)[], string)
Stabilitet: 1.1 – Aktiv utveckling
Den här funktionen returnerar en formaterad text med tanke på format skickas.
const { styleText } = require('node:util');
const errorMessage = styleText('red', 'Error! Error!');
console.log(errorMessage);
util.inspect.colors innehåller även textformat som italicoch underline och du kan kombinera båda:
console.log(
util.styleText(['underline', 'italic'], 'My italic underlined message'),
);
När du skickar en matris med format är formatets ordning vänster till höger så att följande formatmall kan skriva över den föregående.
console.log(
util.styleText(['red', 'green'], 'text'), // green
);
Den fullständiga listan över format finns i modifierare.
function styleText(format: ForegroundColors | BackgroundColors | Modifiers | (ForegroundColors | BackgroundColors | Modifiers)[], text: string): string
Parametrar
- format
-
ForegroundColors | BackgroundColors | Modifiers | (ForegroundColors | BackgroundColors | Modifiers)[]
Ett textformat eller en matris med textformat som definierats i util.inspect.colors.
- text
-
string
Texten som ska formateras.
Returer
string
toUSVString(string)
Returnerar string efter att ha ersatt eventuella surrogatkodpunkter (eller motsvarande eventuella obetalda surrogatkodenheter) med Unicodes "ersättningstecken" U+FFFD.
function toUSVString(string: string): string
Parametrar
- string
-
string
Returer
string
transferableAbortController()
Skapar och returnerar en AbortController instans vars AbortSignal är markerad som överförbar och kan användas med structuredClone() eller postMessage().
function transferableAbortController(): AbortController
Returer
AbortController
En överförbar AbortController
transferableAbortSignal(AbortSignal)
Markerar den angivna AbortSignal som överförbar så att den kan användas medstructuredClone() och postMessage().
const signal = transferableAbortSignal(AbortSignal.timeout(100));
const channel = new MessageChannel();
channel.port2.postMessage(signal, [signal]);
function transferableAbortSignal(signal: AbortSignal): AbortSignal
Parametrar
- signal
-
AbortSignal
The AbortSignal
Returer
AbortSignal
Samma AbortSignal