util module
Modul node:util mendukung kebutuhan API internal Node.js. Banyak utilitas juga berguna untuk pengembang aplikasi dan modul. Untuk mengaksesnya:
import util from 'node:util';
Lihat sumber
Kelas
| MIMEParams |
API |
| MIMEType |
Implementasi kelas MIMEType. Sesuai dengan konvensi browser, semua properti objek String MIME adalah string terstruktur yang berisi beberapa komponen yang bermakna. Saat diurai, objek |
| TextDecoder |
Implementasi WHATWG Encoding Standard
|
| TextEncoder |
Implementasi WHATWG Encoding Standard
Kelas |
Antarmuka
Alias Jenis
| CustomInspectFunction | |
| CustomPromisify | |
| DebugLoggerFunction | |
| DiffEntry | |
| ParseArgsOptionsType |
Jenis argumen yang digunakan dalam parseArgs. |
| Style | |
Fungsi
| aborted(Abort |
Mendengarkan peristiwa batalkan pada
|
| add |
Menambahkan parameter ke url yang diberikan |
| assign(any[]) | Menyalin nilai semua properti yang dapat dijumlahkan dari satu atau beberapa objek sumber ke objek target, dan mengembalikan objek target. |
| auto |
Memeriksa apakah url semat berisi autoAuth=true. |
| callbackify(() => Promise<void>) | Mengambil fungsi
Akan mencetak:
Panggilan balik dijalankan secara asinkron, dan akan memiliki jejak tumpukan terbatas.
Jika panggilan balik dilemparkan, proses akan memancarkan peristiwa Karena
|
| 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 |
Menghasilkan string karakter 5 hingga 6 acak. |
| debuglog(string, (fn: Debug |
Metode
Jika program ini dijalankan dengan
di mana
jika dijalankan dengan
Beberapa nama yang dipisahkan Argumen
|
| deprecate<T>(T, string, string) | Metode
Ketika dipanggil, Jika
Jika bendera baris perintah Jika bendera baris perintah Jika bendera baris perintah Bendera baris perintah |
| diff(string | (readonly string[]), string | (readonly string[])) |
Jika nilainya sama, array kosong dikembalikan.
|
| find<T>((x: T) => boolean, T[]) | Menemukan nilai pertama dalam array yang cocok dengan predikat yang ditentukan. |
| find |
Menemukan indeks nilai pertama dalam array yang cocok dengan predikat yang ditentukan. |
| format(any, any[]) | Metode Jika penentu tidak memiliki argumen yang sesuai, itu tidak diganti:
Nilai yang bukan bagian dari string format diformat menggunakan Jika ada lebih banyak argumen yang diteruskan ke metode
Jika argumen pertama tidak berisi penentu format yang valid,
Jika hanya satu argumen yang diteruskan ke
|
| format |
Fungsi ini identik dengan format , kecuali karena dibutuhkan argumen
|
| generateUUID() | Menghasilkan uuid 20 karakter. |
| get |
|
| get |
Mengembalikan array objek situs panggilan yang berisi tumpukan fungsi pemanggil.
Dimungkinkan untuk membangun kembali lokasi asli dengan mengatur opsi
|
| get |
Mengembalikan angka acak |
| get |
Mengembalikan Peta semua kode kesalahan sistem yang tersedia dari API Node.js.
Pemetaan antara kode kesalahan dan nama kesalahan bergantung pada platform.
Lihat
|
| get |
Mengembalikan pesan string untuk kode kesalahan numerik yang berasal dari API Node.js. Pemetaan antara kode kesalahan dan pesan string bergantung pada platform.
|
| get |
Mengembalikan nama string untuk kode kesalahan numerik yang berasal dari API Node.js.
Pemetaan antara kode kesalahan dan nama kesalahan bergantung pada platform.
Lihat
|
| get |
Mengembalikan interval waktu antara dua tanggal dalam milidetik |
| inherits(unknown, unknown) | Penggunaan Mewarisi metode prototipe dari satu konstruktor ke dalam yang lain. Prototipe Ini terutama menambahkan beberapa validasi input di atas
Contoh ES6 menggunakan
|
| inspect(any, boolean, null | number, boolean) | Metode
Referensi melingkar menunjuk ke jangkarnya dengan menggunakan indeks referensi:
Contoh berikut memeriksa semua properti objek
Contoh berikut menyoroti efek opsi
Opsi
Opsi
Opsi
|
| inspect(any, Inspect |
|
| is |
Alias untuk Mengembalikan
|
| is |
Memeriksa apakah jenis semat adalah untuk membuat |
| is |
Mengembalikan Lihat |
| is |
Memeriksa apakah url semat adalah untuk laporan RDL. |
| is |
Memeriksa apakah laporan disimpan. |
| parse |
Menyediakan API tingkat yang lebih tinggi untuk penguraian argumen baris perintah daripada berinteraksi dengan
|
| parse |
Stabilitas: 1.1 - Pengembangan aktif Mengingat contoh file
|
| 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 |
Mengambil fungsi mengikuti gaya panggilan balik kesalahan-pertama umum, yaitu mengambil panggilan balik
Atau, secara setara menggunakan
Jika ada properti yang
Menggunakan
|
| promisify<TResult>((callback: (err: any, result: TResult) => void) => void) | |
| raise |
Menaikkan peristiwa kustom dengan data peristiwa pada elemen HTML yang ditentukan. |
| remove<T>((x: T) => boolean, T[]) | |
| set |
Aktifkan atau nonaktifkan pencetakan jejak tumpukan pada |
| strip |
Mengembalikan
|
| style |
Fungsi ini mengembalikan teks yang diformat mengingat yang
Saat meneruskan array format, urutan format yang diterapkan dibiarkan ke kanan sehingga gaya berikut mungkin menimpa yang sebelumnya.
Nilai |
| to |
Mengembalikan |
| transferable |
Membuat dan mengembalikan instans |
| transferable |
Menandai
|
Detail Fungsi
aborted(AbortSignal, any)
Mendengarkan peristiwa batalkan pada signal yang disediakan dan mengembalikan janji yang diselesaikan saat signal dibatalkan.
Jika resource disediakan, itu lemah mereferensikan objek terkait operasi, jadi jika resource adalah sampah yang dikumpulkan sebelum signal dibatalkan, maka janji yang dikembalikan akan tetap tertunda.
Ini mencegah kebocoran memori dalam operasi jangka panjang atau tidak dapat dibatalkan.
import { aborted } from 'node:util';
// Obtain an object with an abortable signal, like a custom resource or operation.
const dependent = obtainSomethingAbortable();
// Pass `dependent` as the resource, indicating the promise should only resolve
// if `dependent` is still in memory when the signal is aborted.
aborted(dependent.signal, dependent).then(() => {
// This code runs when `dependent` is aborted.
console.log('Dependent resource was aborted.');
});
// Simulate an event that triggers the abort.
dependent.on('event', () => {
dependent.abort(); // This will cause the `aborted` promise to resolve.
});
function aborted(signal: AbortSignal, resource: any): Promise<void>
Parameter
- signal
-
AbortSignal
- resource
-
any
Objek non-null apa pun yang terkait dengan operasi yang dapat dibatalkan dan dipegang dengan lemah.
Jika resource sampah dikumpulkan sebelum signal dibatalkan, janji tetap tertunda, memungkinkan Node.js berhenti melacaknya.
Ini membantu mencegah kebocoran memori dalam operasi yang berjalan lama atau tidak dapat dibatalkan.
Mengembalikan
Promise<void>
addParamToUrl(string, string, string)
Menambahkan parameter ke url yang diberikan
function addParamToUrl(url: string, paramName: string, value: string): string
Parameter
- url
-
string
- paramName
-
string
- value
-
string
Mengembalikan
string
assign(any[])
Menyalin nilai semua properti yang dapat dijumlahkan dari satu atau beberapa objek sumber ke objek target, dan mengembalikan objek target.
function assign(args: any[]): any
Parameter
- args
-
any[]
Mengembalikan
any
autoAuthInEmbedUrl(string)
Memeriksa apakah url semat berisi autoAuth=true.
function autoAuthInEmbedUrl(embedUrl: string): boolean
Parameter
- embedUrl
-
string
Mengembalikan
boolean
callbackify(() => Promise<void>)
Mengambil fungsi async (atau fungsi yang mengembalikan Promise) dan mengembalikan fungsi setelah gaya panggilan balik pertama kesalahan, yaitu mengambil panggilan balik (err, value) => ... sebagai argumen terakhir. Dalam panggilan balik, argumen pertama akan menjadi alasan penolakan (atau null jika Promise diselesaikan), dan argumen kedua akan menjadi nilai yang diselesaikan.
import { callbackify } from 'node:util';
async function fn() {
return 'hello world';
}
const callbackFunction = callbackify(fn);
callbackFunction((err, ret) => {
if (err) throw err;
console.log(ret);
});
Akan mencetak:
hello world
Panggilan balik dijalankan secara asinkron, dan akan memiliki jejak tumpukan terbatas.
Jika panggilan balik dilemparkan, proses akan memancarkan peristiwa 'uncaughtException', dan jika tidak ditangani akan keluar.
Karena null memiliki arti khusus sebagai argumen pertama untuk panggilan balik, jika fungsi yang dibungkus menolak Promise dengan nilai falsy sebagai alasan, nilai dibungkus dalam Error dengan nilai asli yang disimpan dalam bidang bernama 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
Parameter
- fn
-
() => Promise<void>
Fungsi async
Mengembalikan
(callback: (err: NodeJS.ErrnoException) => void) => void
fungsi gaya panggilan balik
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
Parameter
- fn
-
(arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, arg6: T6) => Promise<TResult>
Mengembalikan
(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
Parameter
- fn
-
(arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, arg6: T6) => Promise<void>
Mengembalikan
(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
Parameter
- fn
-
(arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5) => Promise<TResult>
Mengembalikan
(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
Parameter
- fn
-
(arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5) => Promise<void>
Mengembalikan
(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
Parameter
- fn
-
(arg1: T1, arg2: T2, arg3: T3, arg4: T4) => Promise<TResult>
Mengembalikan
(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
Parameter
- fn
-
(arg1: T1, arg2: T2, arg3: T3, arg4: T4) => Promise<void>
Mengembalikan
(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
Parameter
- fn
-
(arg1: T1, arg2: T2, arg3: T3) => Promise<TResult>
Mengembalikan
(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
Parameter
- fn
-
(arg1: T1, arg2: T2, arg3: T3) => Promise<void>
Mengembalikan
(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
Parameter
- fn
-
(arg1: T1, arg2: T2) => Promise<TResult>
Mengembalikan
(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
Parameter
- fn
-
(arg1: T1, arg2: T2) => Promise<void>
Mengembalikan
(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
Parameter
- fn
-
(arg1: T1) => Promise<TResult>
Mengembalikan
(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
Parameter
- fn
-
(arg1: T1) => Promise<void>
Mengembalikan
(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
Parameter
- fn
-
() => Promise<TResult>
Mengembalikan
(callback: (err: NodeJS.ErrnoException, result: TResult) => void) => void
createRandomString()
Menghasilkan string karakter 5 hingga 6 acak.
function createRandomString(): string
Mengembalikan
string
debuglog(string, (fn: DebugLoggerFunction) => void)
Metode util.debuglog() ini digunakan untuk membuat fungsi yang secara kondisional menulis pesan debug berdasarkan stderr keberadaan NODE_DEBUG variabel lingkungan. Jika nama section muncul dalam nilai variabel lingkungan tersebut, maka fungsi yang dikembalikan beroperasi mirip dengan console.error(). Jika tidak, maka fungsi yang dikembalikan adalah no-op.
import { debuglog } from 'node:util';
const log = debuglog('foo');
log('hello from foo [%d]', 123);
Jika program ini dijalankan dengan NODE_DEBUG=foo di lingkungan, maka program ini akan menghasilkan sesuatu seperti:
FOO 3245: hello from foo [123]
di mana 3245 adalah id proses. Jika tidak dijalankan dengan set variabel lingkungan tersebut, maka tidak akan mencetak apa pun.
section mendukung wildcard juga:
import { debuglog } from 'node:util';
const log = debuglog('foo');
log('hi there, it\'s foo-bar [%d]', 2333);
jika dijalankan dengan NODE_DEBUG=foo* di lingkungan, maka itu akan menghasilkan sesuatu seperti:
FOO-BAR 3257: hi there, it's foo-bar [2333]
Beberapa nama yang dipisahkan section koma dapat ditentukan dalam NODE_DEBUG variabel lingkungan: NODE_DEBUG=fs,net,tls.
Argumen callback opsional dapat digunakan untuk mengganti fungsi pengelogan dengan fungsi berbeda yang tidak memiliki inisialisasi atau pembungkusan yang tidak perlu.
import { debuglog } from 'node:util';
let log = debuglog('internals', (debug) => {
// Replace with a logging function that optimizes out
// testing if the section is enabled
log = debug;
});
function debuglog(section: string, callback?: (fn: DebugLoggerFunction) => void): DebugLogger
Parameter
- section
-
string
String yang mengidentifikasi bagian aplikasi tempat fungsi debuglog sedang dibuat.
- callback
-
(fn: DebugLoggerFunction) => void
Panggilan balik yang dipanggil saat pertama kali fungsi pengelogan dipanggil dengan argumen fungsi yang merupakan fungsi pengelogan yang lebih dioptimalkan.
Mengembalikan
Fungsi pengelogan
deprecate<T>(T, string, string)
Metode util.deprecate() membungkus fn (yang mungkin merupakan fungsi atau kelas) sedemikian sehingga ditandai sebagai tidak digunakan lagi.
import { deprecate } from 'node:util';
export const obsoleteFunction = deprecate(() => {
// Do something here.
}, 'obsoleteFunction() is deprecated. Use newShinyFunction() instead.');
Ketika dipanggil, util.deprecate() akan mengembalikan fungsi yang akan memancarkan DeprecationWarning menggunakan peristiwa 'warning'. Peringatan akan dipancarkan dan dicetak ke stderr pertama kali fungsi yang dikembalikan dipanggil. Setelah peringatan dipancarkan, fungsi yang dibungkus dipanggil tanpa memancarkan peringatan.
Jika code opsional yang sama disediakan dalam beberapa panggilan ke util.deprecate(), peringatan akan dipancarkan hanya sekali untuk codetersebut.
import { deprecate } from 'node:util';
const fn1 = deprecate(
() => 'a value',
'deprecation message',
'DEP0001',
);
const fn2 = deprecate(
() => 'a different value',
'other dep message',
'DEP0001',
);
fn1(); // Emits a deprecation warning with code DEP0001
fn2(); // Does not emit a deprecation warning because it has the same code
Jika bendera baris perintah --no-deprecation atau --no-warnings digunakan, atau jika properti process.noDeprecation diatur ke true sebelumnya ke peringatan penghentian pertama, metode util.deprecate() tidak melakukan apa pun.
Jika bendera baris perintah --trace-deprecation atau --trace-warnings diatur, atau properti process.traceDeprecation diatur ke true, peringatan dan jejak tumpukan dicetak ke stderr pertama kali fungsi yang tidak digunakan lagi dipanggil.
Jika bendera baris perintah --throw-deprecation diatur, atau properti process.throwDeprecation diatur ke true, maka pengecualian akan dilemparkan ketika fungsi yang tidak digunakan lagi dipanggil.
Bendera baris perintah --throw-deprecation dan properti process.throwDeprecation lebih diutamakan daripada --trace-deprecation dan process.traceDeprecation.
function deprecate<T>(fn: T, msg: string, code?: string): T
Parameter
- fn
-
T
Fungsi yang tidak digunakan lagi.
- msg
-
string
Pesan peringatan untuk ditampilkan ketika fungsi yang tidak digunakan lagi dipanggil.
- code
-
string
Kode penghentian. Lihat list of deprecated APIs untuk daftar kode.
Mengembalikan
T
Fungsi yang tidak digunakan lagi dibungkus untuk memancarkan peringatan.
diff(string | (readonly string[]), string | (readonly string[]))
util.diff() membandingkan dua nilai string atau array dan mengembalikan array entri perbedaan.
Ini menggunakan algoritma Myers diff untuk menghitung perbedaan minimal, yang merupakan algoritma yang sama yang digunakan secara internal oleh pesan kesalahan pernyataan.
Jika nilainya sama, array kosong dikembalikan.
const { diff } = require('node:util');
// Comparing strings
const actualString = '12345678';
const expectedString = '12!!5!7!';
console.log(diff(actualString, expectedString));
// [
// [0, '1'],
// [0, '2'],
// [1, '3'],
// [1, '4'],
// [-1, '!'],
// [-1, '!'],
// [0, '5'],
// [1, '6'],
// [-1, '!'],
// [0, '7'],
// [1, '8'],
// [-1, '!'],
// ]
// Comparing arrays
const actualArray = ['1', '2', '3'];
const expectedArray = ['1', '3', '4'];
console.log(diff(actualArray, expectedArray));
// [
// [0, '1'],
// [1, '2'],
// [0, '3'],
// [-1, '4'],
// ]
// Equal values return empty array
console.log(diff('same', 'same'));
// []
function diff(actual: string | (readonly string[]), expected: string | (readonly string[])): DiffEntry[]
Parameter
- actual
-
string | (readonly string[])
Nilai pertama yang akan dibandingkan
- expected
-
string | (readonly string[])
Nilai kedua yang akan dibandingkan
Mengembalikan
Array entri perbedaan. Setiap entri adalah array dengan dua elemen:
- Indeks 0:
numberKode operasi:-1untuk penghapusan,0untuk no-op/tidak berubah,1untuk penyisipan - Indeks 1:
stringNilai yang terkait dengan operasi
find<T>((x: T) => boolean, T[])
Menemukan nilai pertama dalam array yang cocok dengan predikat yang ditentukan.
function find<T>(predicate: (x: T) => boolean, xs: T[]): T
Parameter
- predicate
-
(x: T) => boolean
- xs
-
T[]
Mengembalikan
T
findIndex<T>((x: T) => boolean, T[])
Menemukan indeks nilai pertama dalam array yang cocok dengan predikat yang ditentukan.
function findIndex<T>(predicate: (x: T) => boolean, xs: T[]): number
Parameter
- predicate
-
(x: T) => boolean
- xs
-
T[]
Mengembalikan
number
format(any, any[])
Metode util.format() mengembalikan string yang diformat menggunakan argumen pertama sebagai string format printf-like yang dapat berisi penentu format nol atau lebih. Setiap penentu diganti dengan nilai yang dikonversi dari argumen yang sesuai. Penentu yang didukung adalah:
Jika penentu tidak memiliki argumen yang sesuai, itu tidak diganti:
util.format('%s:%s', 'foo');
// Returns: 'foo:%s'
Nilai yang bukan bagian dari string format diformat menggunakan util.inspect() jika jenisnya tidak string.
Jika ada lebih banyak argumen yang diteruskan ke metode util.format() daripada jumlah penentu, argumen tambahan digabungkan ke string yang dikembalikan, dipisahkan oleh spasi:
util.format('%s:%s', 'foo', 'bar', 'baz');
// Returns: 'foo:bar baz'
Jika argumen pertama tidak berisi penentu format yang valid, util.format() mengembalikan string yang merupakan penggabungan semua argumen yang dipisahkan oleh spasi:
util.format(1, 2, 3);
// Returns: '1 2 3'
Jika hanya satu argumen yang diteruskan ke util.format(), argumen dikembalikan apa adanya tanpa pemformatan apa pun:
util.format('%% %s');
// Returns: '%% %s'
util.format() adalah metode sinkron yang dimaksudkan sebagai alat penelusuran kesalahan.
Beberapa nilai input dapat memiliki overhead performa signifikan yang dapat memblokir perulangan peristiwa. Gunakan fungsi ini dengan hati-hati dan jangan pernah berada di jalur kode panas.
function format(format?: any, param: any[]): string
Parameter
- format
-
any
String format printf-like.
- param
-
any[]
Mengembalikan
string
formatWithOptions(InspectOptions, any, any[])
Fungsi ini identik dengan format , kecuali karena dibutuhkan argumen inspectOptions yang menentukan opsi yang diteruskan ke memeriksa.
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
Parameter
- inspectOptions
- InspectOptions
- format
-
any
- param
-
any[]
Mengembalikan
string
generateUUID()
Menghasilkan uuid 20 karakter.
function generateUUID(): string
Mengembalikan
string
getCallSites(GetCallSitesOptions)
function getCallSites(options: GetCallSitesOptions): CallSiteObject[]
Parameter
- options
-
GetCallSitesOptions
Mengembalikan
getCallSites(number, GetCallSitesOptions)
Mengembalikan array objek situs panggilan yang berisi tumpukan fungsi pemanggil.
import { getCallSites } from 'node:util';
function exampleFunction() {
const callSites = getCallSites();
console.log('Call Sites:');
callSites.forEach((callSite, index) => {
console.log(`CallSite ${index + 1}:`);
console.log(`Function Name: ${callSite.functionName}`);
console.log(`Script Name: ${callSite.scriptName}`);
console.log(`Line Number: ${callSite.lineNumber}`);
console.log(`Column Number: ${callSite.column}`);
});
// CallSite 1:
// Function Name: exampleFunction
// Script Name: /home/example.js
// Line Number: 5
// Column Number: 26
// CallSite 2:
// Function Name: anotherFunction
// Script Name: /home/example.js
// Line Number: 22
// Column Number: 3
// ...
}
// A function to simulate another stack layer
function anotherFunction() {
exampleFunction();
}
anotherFunction();
Dimungkinkan untuk membangun kembali lokasi asli dengan mengatur opsi sourceMap ke true.
Jika peta sumber tidak tersedia, lokasi asli akan sama dengan lokasi saat ini.
Ketika bendera --enable-source-maps diaktifkan, misalnya saat menggunakan --experimental-transform-types, sourceMap akan benar secara default.
import { getCallSites } from 'node:util';
interface Foo {
foo: string;
}
const callSites = getCallSites({ sourceMap: true });
// With sourceMap:
// Function Name: ''
// Script Name: example.js
// Line Number: 7
// Column Number: 26
// Without sourceMap:
// Function Name: ''
// Script Name: example.js
// Line Number: 2
// Column Number: 26
function getCallSites(frameCount?: number, options?: GetCallSitesOptions): CallSiteObject[]
Parameter
- frameCount
-
number
Jumlah bingkai yang akan diambil sebagai objek situs panggilan.
Default:10. Rentang yang diizinkan adalah antara 1 dan 200.
- options
-
GetCallSitesOptions
Mengembalikan
Array objek situs panggilan
getRandomValue()
Mengembalikan angka acak
function getRandomValue(): number
Mengembalikan
number
getSystemErrorMap()
Mengembalikan Peta semua kode kesalahan sistem yang tersedia dari API Node.js.
Pemetaan antara kode kesalahan dan nama kesalahan bergantung pada platform.
Lihat Common System Errors untuk nama kesalahan umum.
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]>
Mengembalikan
Map<number, [string, string]>
getSystemErrorMessage(number)
Mengembalikan pesan string untuk kode kesalahan numerik yang berasal dari API Node.js. Pemetaan antara kode kesalahan dan pesan string bergantung pada platform.
fs.access('file/that/does/not/exist', (err) => {
const message = util.getSystemErrorMessage(err.errno);
console.error(message); // no such file or directory
});
function getSystemErrorMessage(err: number): string
Parameter
- err
-
number
Mengembalikan
string
getSystemErrorName(number)
Mengembalikan nama string untuk kode kesalahan numerik yang berasal dari API Node.js.
Pemetaan antara kode kesalahan dan nama kesalahan bergantung pada platform.
Lihat Common System Errors untuk nama kesalahan umum.
fs.access('file/that/does/not/exist', (err) => {
const name = util.getSystemErrorName(err.errno);
console.error(name); // ENOENT
});
function getSystemErrorName(err: number): string
Parameter
- err
-
number
Mengembalikan
string
getTimeDiffInMilliseconds(Date, Date)
Mengembalikan interval waktu antara dua tanggal dalam milidetik
function getTimeDiffInMilliseconds(start: Date, end: Date): number
Parameter
- start
-
Date
- end
-
Date
Mengembalikan
number
inherits(unknown, unknown)
Penggunaan util.inherits() tidak disarankan. Gunakan class ES6 dan kata kunci extends untuk mendapatkan dukungan pewarisan tingkat bahasa. Perhatikan juga bahwa kedua gaya tersebut yang tidak kompatibel secara semantik.
Mewarisi metode prototipe dari satu konstruktor ke dalam yang lain. Prototipe constructor akan diatur ke objek baru yang dibuat dari superConstructor.
Ini terutama menambahkan beberapa validasi input di atas Object.setPrototypeOf(constructor.prototype, superConstructor.prototype).
Sebagai kenyamanan tambahan, superConstructor dapat diakses melalui properti constructor.super_.
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!"
Contoh ES6 menggunakan class dan extends:
import EventEmitter from '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)
Parameter
- constructor
-
unknown
- superConstructor
-
unknown
inspect(any, boolean, null | number, boolean)
Metode util.inspect() mengembalikan representasi string object yang dimaksudkan untuk penelusuran kesalahan. Output util.inspect dapat berubah kapan saja dan tidak boleh diandalkan secara terprogram.
options tambahan dapat diteruskan yang mengubah hasilnya.
util.inspect() akan menggunakan nama dan/atau Symbol.toStringTag properti konstruktor untuk membuat tag yang dapat diidentifikasi untuk nilai yang diperiksa.
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] {}'
Referensi melingkar menunjuk ke jangkarnya dengan menggunakan indeks referensi:
import { inspect } from '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] }
// }
Contoh berikut memeriksa semua properti objek util:
import util from 'node:util';
console.log(util.inspect(util, { showHidden: true, depth: null }));
Contoh berikut menyoroti efek opsi compact:
import { inspect } from '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(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(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.
Opsi showHidden memungkinkan entri WeakMap dan WeakSet diperiksa. Jika ada lebih banyak entri daripada maxArrayLength, tidak ada jaminan entri mana yang ditampilkan. Itu berarti mengambil entri WeakSet yang sama dua kali dapat mengakibatkan output yang berbeda. Selain itu, entri tanpa referensi yang kuat yang tersisa dapat menjadi sampah yang dikumpulkan kapan saja.
import { inspect } from '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 } }
Opsi sorted memastikan bahwa urutan penyisipan properti objek tidak memengaruhi hasil util.inspect().
import { inspect } from 'node:util';
import assert from '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 }),
);
Opsi numericSeparator menambahkan garis bawah setiap tiga digit ke semua angka.
import { inspect } from 'node:util';
const thousand = 1000;
const million = 1000000;
const bigNumber = 123456789n;
const bigDecimal = 1234.12345;
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() adalah metode sinkron yang ditujukan untuk penelusuran kesalahan. Panjang output maksimumnya adalah sekitar 128 MiB. Input yang menghasilkan output yang lebih panjang akan dipotong.
function inspect(object: any, showHidden?: boolean, depth?: null | number, color?: boolean): string
Parameter
- object
-
any
Setiap JavaScript primitif atau Object.
- showHidden
-
boolean
- depth
-
null | number
- color
-
boolean
Mengembalikan
string
Representasi object.
inspect(any, InspectOptions)
function inspect(object: any, options?: InspectOptions): string
Parameter
- object
-
any
- options
- InspectOptions
Mengembalikan
string
isArray(unknown)
Peringatan
API ini sudah tidak digunakan lagi.
Since v4.0.0 - Use isArray instead.
Alias untuk Array.isArray().
Mengembalikan true jika object yang diberikan adalah Array. Jika tidak, mengembalikan false.
import util from 'node:util';
util.isArray([]);
// Returns: true
util.isArray(new Array());
// Returns: true
util.isArray({});
// Returns: false
function isArray(object: unknown): object
Parameter
- object
-
unknown
Mengembalikan
object
isCreate(string)
Memeriksa apakah jenis semat adalah untuk membuat
function isCreate(embedType: string): boolean
Parameter
- embedType
-
string
Mengembalikan
boolean
isDeepStrictEqual(unknown, unknown, IsDeepStrictEqualOptions)
Mengembalikan true jika ada kesetaraan ketat yang mendalam antara val1 dan val2.
Jika tidak, mengembalikan false.
Lihat assert.deepStrictEqual() untuk informasi selengkapnya tentang kesetaraan ketat yang mendalam.
function isDeepStrictEqual(val1: unknown, val2: unknown, options?: IsDeepStrictEqualOptions): boolean
Parameter
- val1
-
unknown
- val2
-
unknown
- options
- IsDeepStrictEqualOptions
Mengembalikan
boolean
isRDLEmbed(string)
Memeriksa apakah url semat adalah untuk laporan RDL.
function isRDLEmbed(embedUrl: string): boolean
Parameter
- embedUrl
-
string
Mengembalikan
boolean
isSavedInternal(HttpPostMessage, string, Window)
Memeriksa apakah laporan disimpan.
function isSavedInternal(hpm: HttpPostMessage, uid: string, contentWindow: Window): Promise<boolean>
Parameter
- hpm
-
HttpPostMessage
- uid
-
string
- contentWindow
-
Window
Mengembalikan
Promise<boolean>
parseArgs<T>(T)
Menyediakan API tingkat yang lebih tinggi untuk penguraian argumen baris perintah daripada berinteraksi dengan process.argv secara langsung. Mengambil spesifikasi untuk argumen yang diharapkan dan mengembalikan objek terstruktur dengan opsi dan posisi yang diurai.
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>
Parameter
- config
-
T
Digunakan untuk menyediakan argumen untuk penguraian dan untuk mengonfigurasi pengurai.
config mendukung properti berikut:
Mengembalikan
ParsedResults<T>
Argumen baris perintah yang diurai:
parseEnv(string)
Stabilitas: 1.1 - Pengembangan aktif Mengingat contoh file .env:
import { parseEnv } from 'node:util';
parseEnv('HELLO=world\nHELLO=oh my\n');
// Returns: { HELLO: 'oh my' }
function parseEnv(content: string): NodeJS.Dict<string>
Parameter
- content
-
string
Konten mentah dari file .env.
Mengembalikan
NodeJS.Dict<string>
promisify((callback: (err?: any) => void) => void)
function promisify(fn: (callback: (err?: any) => void) => void): () => Promise<void>
Parameter
- fn
-
(callback: (err?: any) => void) => void
Mengembalikan
() => Promise<void>
promisify(Function)
function promisify(fn: Function): Function
Parameter
- fn
-
Function
Mengembalikan
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>
Parameter
- fn
-
(arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, callback: (err: any, result: TResult) => void) => void
Mengembalikan
(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>
Parameter
- fn
-
(arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, callback: (err?: any) => void) => void
Mengembalikan
(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>
Parameter
- fn
-
(arg1: T1, arg2: T2, arg3: T3, arg4: T4, callback: (err: any, result: TResult) => void) => void
Mengembalikan
(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>
Parameter
- fn
-
(arg1: T1, arg2: T2, arg3: T3, arg4: T4, callback: (err?: any) => void) => void
Mengembalikan
(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>
Parameter
- fn
-
(arg1: T1, arg2: T2, arg3: T3, callback: (err: any, result: TResult) => void) => void
Mengembalikan
(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>
Parameter
- fn
-
(arg1: T1, arg2: T2, arg3: T3, callback: (err?: any) => void) => void
Mengembalikan
(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>
Parameter
- fn
-
(arg1: T1, arg2: T2, callback: (err: any, result: TResult) => void) => void
Mengembalikan
(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>
Parameter
- fn
-
(arg1: T1, arg2: T2, callback: (err?: any) => void) => void
Mengembalikan
(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>
Parameter
- fn
-
(arg1: T1, callback: (err: any, result: TResult) => void) => void
Mengembalikan
(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>
Parameter
- fn
-
(arg1: T1, callback: (err?: any) => void) => void
Mengembalikan
(arg1: T1) => Promise<void>
promisify<TCustom>(CustomPromisify<TCustom>)
Mengambil fungsi mengikuti gaya panggilan balik kesalahan-pertama umum, yaitu mengambil panggilan balik (err, value) => ... sebagai argumen terakhir, dan mengembalikan versi yang mengembalikan janji.
import { promisify } from 'node:util';
import { stat } from 'node:fs';
const promisifiedStat = promisify(stat);
promisifiedStat('.').then((stats) => {
// Do something with `stats`
}).catch((error) => {
// Handle the error.
});
Atau, secara setara menggunakan async function:
import { promisify } from 'node:util';
import { stat } from 'node:fs';
const promisifiedStat = promisify(stat);
async function callStat() {
const stats = await promisifiedStat('.');
console.log(`This directory is owned by ${stats.uid}`);
}
callStat();
Jika ada properti yang original[util.promisify.custom] ada, promisify akan mengembalikan nilainya, lihat Fungsi kustom yang dipromisikan.
promisify() mengasumsikan bahwa original adalah fungsi yang mengambil panggilan balik sebagai argumen akhirnya dalam semua kasus. Jika original bukan fungsi, promisify() akan melemparkan kesalahan. Jika original adalah fungsi tetapi argumen terakhirnya bukan panggilan balik kesalahan-pertama, itu masih akan diteruskan panggilan balik kesalahan-pertama sebagai argumen terakhirnya.
Menggunakan promisify() pada metode kelas atau metode lain yang menggunakan this mungkin tidak berfungsi seperti yang diharapkan kecuali ditangani secara khusus:
import { promisify } from 'node:util';
class Foo {
constructor() {
this.a = 42;
}
bar(callback) {
callback(null, this.a);
}
}
const foo = new Foo();
const naiveBar = promisify(foo.bar);
// TypeError: Cannot read properties of undefined (reading 'a')
// 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
Parameter
- fn
-
CustomPromisify<TCustom>
Mengembalikan
TCustom
promisify<TResult>((callback: (err: any, result: TResult) => void) => void)
function promisify<TResult>(fn: (callback: (err: any, result: TResult) => void) => void): () => Promise<TResult>
Parameter
- fn
-
(callback: (err: any, result: TResult) => void) => void
Mengembalikan
() => Promise<TResult>
raiseCustomEvent(HTMLElement, string, any)
Menaikkan peristiwa kustom dengan data peristiwa pada elemen HTML yang ditentukan.
function raiseCustomEvent(element: HTMLElement, eventName: string, eventData: any)
Parameter
- element
-
HTMLElement
- eventName
-
string
- eventData
-
any
remove<T>((x: T) => boolean, T[])
function remove<T>(predicate: (x: T) => boolean, xs: T[])
Parameter
- predicate
-
(x: T) => boolean
- xs
-
T[]
setTraceSigInt(boolean)
Aktifkan atau nonaktifkan pencetakan jejak tumpukan pada SIGINT. API hanya tersedia di utas utama.
function setTraceSigInt(enable: boolean)
Parameter
- enable
-
boolean
stripVTControlCharacters(string)
Mengembalikan str dengan kode escape ANSI yang dihapus.
console.log(util.stripVTControlCharacters('\u001B[4mvalue\u001B[0m'));
// Prints "value"
function stripVTControlCharacters(str: string): string
Parameter
- str
-
string
Mengembalikan
string
styleText(ForegroundColors | BackgroundColors | Modifiers | (ForegroundColors | BackgroundColors | Modifiers)[], string, StyleTextOptions)
Fungsi ini mengembalikan teks yang diformat mengingat yang format diteruskan untuk pencetakan di terminal. Ini mengetahui kemampuan dan tindakan terminal sesuai dengan konfigurasi yang ditetapkan melalui NO_COLORvariabel lingkungan , NODE_DISABLE_COLORS dan FORCE_COLOR .
import { styleText } from 'node:util';
import { stderr } from 'node:process';
const successMessage = styleText('green', 'Success!');
console.log(successMessage);
const errorMessage = styleText(
'red',
'Error! Error!',
// Validate if process.stderr has TTY
{ stream: stderr },
);
console.error(errorMessage);
util.inspect.colors juga menyediakan format teks seperti italic, dan underline dan Anda dapat menggabungkan keduanya:
console.log(
util.styleText(['underline', 'italic'], 'My italic underlined message'),
);
Saat meneruskan array format, urutan format yang diterapkan dibiarkan ke kanan sehingga gaya berikut mungkin menimpa yang sebelumnya.
console.log(
util.styleText(['red', 'green'], 'text'), // green
);
Nilai none format khusus tidak menerapkan gaya tambahan ke teks.
Daftar lengkap format dapat ditemukan di pengubah .
function styleText(format: ForegroundColors | BackgroundColors | Modifiers | (ForegroundColors | BackgroundColors | Modifiers)[], text: string, options?: StyleTextOptions): string
Parameter
- format
-
ForegroundColors | BackgroundColors | Modifiers | (ForegroundColors | BackgroundColors | Modifiers)[]
Format teks atau Array format teks yang ditentukan dalam util.inspect.colors.
- text
-
string
Teks yang akan diformat.
- options
- StyleTextOptions
Mengembalikan
string
toUSVString(string)
Mengembalikan string setelah mengganti titik kode pengganti apa pun (atau setara, unit kode pengganti yang tidak berpasangan) dengan U+FFFD "karakter pengganti" Unicode.
function toUSVString(string: string): string
Parameter
- string
-
string
Mengembalikan
string
transferableAbortController()
Membuat dan mengembalikan instans AbortController yang AbortSignal nya ditandai sebagai dapat ditransfer dan dapat digunakan dengan structuredClone() atau postMessage().
function transferableAbortController(): AbortController
Mengembalikan
AbortController
AbortController yang dapat ditransfer
transferableAbortSignal(AbortSignal)
Menandai AbortSignal yang diberikan sebagai dapat ditransfer sehingga dapat digunakan denganstructuredClone() dan postMessage().
const signal = transferableAbortSignal(AbortSignal.timeout(100));
const channel = new MessageChannel();
channel.port2.postMessage(signal, [signal]);
function transferableAbortSignal(signal: AbortSignal): AbortSignal
Parameter
- signal
-
AbortSignal
The AbortSignal
Mengembalikan
AbortSignal
AbortSignal yang sama