Módulo util
Módulo de herramienta común
Objeto
LruCache
Objeto de caché LRU (menos utilizado recientemente), consulte LruCache Objeto.
1LruCache util.LruCache;
Función estática
format
Dar formato a las variables de acuerdo con el formato especificado
1
2static String util.format(String fmt,
...args);
Parámetros de llamada:
- fmt: Cadena, cadena de formato
- args: ..., lista de parámetros opcionales
Devolver resultado:
- String, Devuelve la cadena formateada
Formateo de variables
1static String util.format(...args);
Parámetros de llamada:
- args: ..., lista de parámetros opcionales
Devolver resultado:
- String, Devuelve la cadena formateada
inherits
Hereda la función prototipo de un constructor a otro. El prototipo del constructor se establecerá en un nuevo objeto creado a partir del superConstructor.
1
2static util.inherits(Value constructor,
Value superConstructor);
Parámetros de llamada:
- constructor: Valor, el constructor inicial
- superConstructor: Valor, la superclase que se heredará
inspect
La función devuelve la representación de cadena de obj, que se utiliza principalmente para depurar. Se pueden usar opciones adicionales para cambiar ciertos aspectos de la cadena de formato.
1
2static String util.inspect(Value obj,
Object options = {});
Parámetros de llamada:
- obj: Valor, especifique el objeto a procesar
- options: Objeto, especificar opciones de control de formato
Devolver resultado:
- String, Devuelve la cadena formateada
Se admiten los siguientes parámetros:
1
2
3
4
5
6{
"colors": false, // 指定是否输出 ansi 作色字符串,缺省为 false
"table": false, // 指定输出 table 格式,缺省为 false
"encode_string": true, // 指定表格中的字符串是否编码,缺省为 true
"fields": [], // 当 table 为 true 时指定显示字段
}
deprecate
Encapsula la función dada, esta función solo es compatible y no genera una advertencia
1
2
3static Function util.deprecate(Function fn,
String msg,
String code = "");
Parámetros de llamada:
- fn: Función, dada la función a encapsular
- msg: Cadena, mensaje de advertencia dado
- code: Cadena, número de advertencia dado
Devolver resultado:
- Function, Si el resultado de la encapsulación
isEmpty
Verifique si la variable dada no contiene ningún valor (no hay atributos enumerables)
1static Boolean util.isEmpty(Value v);
Parámetros de llamada:
- v: Valor, dada la variable a probar
Devolver resultado:
- Boolean, Devuelve True si está vacío
isArray
Verifique si la variable dada es una matriz
1static Boolean util.isArray(Value v);
Parámetros de llamada:
- v: Valor, dada la variable a probar
Devolver resultado:
- Boolean, Devuelve True si es una matriz
isBoolean
Compruebe si la variable dada es booleana
1static Boolean util.isBoolean(Value v);
Parámetros de llamada:
- v: Valor, dada la variable a probar
Devolver resultado:
- Boolean, Devuelve verdadero si es booleano
isNull
Compruebe si la variable dada es nula
1static Boolean util.isNull(Value v);
Parámetros de llamada:
- v: Valor, dada la variable a probar
Devolver resultado:
- Boolean, Devuelve verdadero si es nulo
isNullOrUndefined
Compruebe si la variable dada es nula o indefinida
1static Boolean util.isNullOrUndefined(Value v);
Parámetros de llamada:
- v: Valor, dada la variable a probar
Devolver resultado:
- Boolean, Devuelve verdadero si es nulo o indefinido
isNumber
Compruebe si la variable dada es un número
1static Boolean util.isNumber(Value v);
Parámetros de llamada:
- v: Valor, dada la variable a probar
Devolver resultado:
- Boolean, Devuelve Verdadero si es un número
isBigInt
Compruebe si la variable dada es BigInt
1static Boolean util.isBigInt(Value v);
Parámetros de llamada:
- v: Valor, dada la variable a probar
Devolver resultado:
- Boolean, Devuelve Verdadero si es un número
isString
Verifique si la variable dada es una cadena
1static Boolean util.isString(Value v);
Parámetros de llamada:
- v: Valor, dada la variable a probar
Devolver resultado:
- Boolean, Devuelve True si es una cadena
isUndefined
Compruebe si la variable dada no está definida
1static Boolean util.isUndefined(Value v);
Parámetros de llamada:
- v: Valor, dada la variable a probar
Devolver resultado:
- Boolean, Devuelve verdadero si no está definido
isRegExp
Verifique si la variable dada es un objeto regular
1static Boolean util.isRegExp(Value v);
Parámetros de llamada:
- v: Valor, dada la variable a probar
Devolver resultado:
- Boolean, Devuelve True si es un objeto regular
isObject
Verifique si la variable dada es un objeto
1static Boolean util.isObject(Value v);
Parámetros de llamada:
- v: Valor, dada la variable a probar
Devolver resultado:
- Boolean, Devuelve True si es un objeto
isDate
Verifique si la variable dada es un objeto de fecha
1static Boolean util.isDate(Value v);
Parámetros de llamada:
- v: Valor, dada la variable a probar
Devolver resultado:
- Boolean, Devuelve True si es un objeto de fecha
isNativeError
Compruebe si la variable dada es el objeto incorrecto
1static Boolean util.isNativeError(Value v);
Parámetros de llamada:
- v: Valor, dada la variable a probar
Devolver resultado:
- Boolean, Devuelve True si es un objeto de error
isPrimitive
Compruebe si la variable dada es de tipo primitivo
1static Boolean util.isPrimitive(Value v);
Parámetros de llamada:
- v: Valor, dada la variable a probar
Devolver resultado:
- Boolean, Devuelve True si es un tipo primitivo
isSymbol
Compruebe si la variable dada es de tipo Símbolo
1static Boolean util.isSymbol(Value v);
Parámetros de llamada:
- v: Valor, dada la variable a probar
Devolver resultado:
- Boolean, Si es de tipo Símbolo, devuelve Verdadero
isDataView
Compruebe si la variable dada es de tipo DataView
1static Boolean util.isDataView(Value v);
Parámetros de llamada:
- v: Valor, dada la variable a probar
Devolver resultado:
- Boolean, Devuelve True si es de tipo DataView
isExternal
Compruebe si la variable dada es de tipo Externo
1static Boolean util.isExternal(Value v);
Parámetros de llamada:
- v: Valor, dada la variable a probar
Devolver resultado:
- Boolean, Si es de tipo Externo, devuelve Verdadero
isMap
Compruebe si la variable dada es de tipo Mapa
1static Boolean util.isMap(Value v);
Parámetros de llamada:
- v: Valor, dada la variable a probar
Devolver resultado:
- Boolean, Devuelve verdadero si es un tipo de mapa
isMapIterator
Compruebe si la variable dada es de tipo MapIterator
1static Boolean util.isMapIterator(Value v);
Parámetros de llamada:
- v: Valor, dada la variable a probar
Devolver resultado:
- Boolean, Devuelve True si es del tipo MapIterator
isPromise
Verifique si la variable dada es del tipo Promise
1static Boolean util.isPromise(Value v);
Parámetros de llamada:
- v: Valor, dada la variable a probar
Devolver resultado:
- Boolean, Devuelve True si es un tipo de Promesa
isAsyncFunction
Compruebe si la variable dada es de tipo AsyncFunction
1static Boolean util.isAsyncFunction(Value v);
Parámetros de llamada:
- v: Valor, dada la variable a probar
Devolver resultado:
- Boolean, Devuelve True si es de tipo AsyncFunction
isSet
Compruebe si la variable dada es de tipo Set
1static Boolean util.isSet(Value v);
Parámetros de llamada:
- v: Valor, dada la variable a probar
Devolver resultado:
- Boolean, Si es un tipo Set, devuelve True
isSetIterator
Compruebe si la variable dada es de tipo SetIterator
1static Boolean util.isSetIterator(Value v);
Parámetros de llamada:
- v: Valor, dada la variable a probar
Devolver resultado:
- Boolean, Devuelve True si es de tipo SetIterator
isTypedArray
Compruebe si la variable dada es de tipo TypedArray
1static Boolean util.isTypedArray(Value v);
Parámetros de llamada:
- v: Valor, dada la variable a probar
Devolver resultado:
- Boolean, Si es un tipo TypedArray, devuelve True
isUint8Array
Compruebe si la variable dada es de tipo Uint8Array
1static Boolean util.isUint8Array(Value v);
Parámetros de llamada:
- v: Valor, dada la variable a probar
Devolver resultado:
- Boolean, Devuelve True si es de tipo Uint8Array
isFunction
Verifique si la variable dada es un objeto de función
1static Boolean util.isFunction(Value v);
Parámetros de llamada:
- v: Valor, dada la variable a probar
Devolver resultado:
- Boolean, Devuelve True si es un objeto de función
isBuffer
Compruebe si la variable dada es una función Buffer Objeto
1static Boolean util.isBuffer(Value v);
Parámetros de llamada:
- v: Valor, dada la variable a probar
Devolver resultado:
- Boolean, Si es una función Buffer El objeto devuelve True
isDeepEqual
La profundidad del valor de prueba es igual al valor esperado
1
2static Boolean util.isDeepEqual(Value actual,
Value expected);
Parámetros de llamada:
- actual: Valor, el valor que se va a probar
- expected: Valor, valor esperado
Devolver resultado:
- Boolean, Devuelve True si las profundidades son iguales
has
Consultar si el objeto especificado contiene la clave dada
1
2static Boolean util.has(Value v,
String key);
Parámetros de llamada:
- v: Valor, dado el objeto a consultar
- key: Cadena, especifique la clave a consultar
Devolver resultado:
- Boolean, Devuelve una matriz de todas las claves del objeto
keys
Consultar todas las matrices de claves del objeto especificado
1static Array util.keys(Value v);
Parámetros de llamada:
- v: Valor, dado el objeto a consultar
Devolver resultado:
- Array, Devuelve una matriz de todas las claves del objeto
values
Consultar la matriz de todos los valores del objeto especificado
1static Array util.values(Value v);
Parámetros de llamada:
- v: Valor, dado el objeto a consultar
Devolver resultado:
- Array, Devuelve una matriz de todos los valores del objeto.
clone
Clona la variable dada, si es un objeto o una matriz, copia el contenido al nuevo objeto
1static Value util.clone(Value v);
Parámetros de llamada:
- v: Valor, dada la variable a clonar
Devolver resultado:
- Value, Devuelve el resultado clonado
deepFreeze
Deep freeze un objeto, el objeto congelado y sus objetos contenidos no podrán ser modificados
1static util.deepFreeze(Value v);
Parámetros de llamada:
- v: Valor, especifique el objeto a congelar
extend
Extienda el valor clave de uno o más objetos al objeto especificado
1
2static Value util.extend(Value v,
...objs);
Parámetros de llamada:
- v: Valor, especifique el objeto a expandir
- objs: ..., especifique uno o más objetos para expandir
Devolver resultado:
- Value, Devuelve el resultado expandido
_extend
Extiende el valor clave de uno o más objetos al objeto especificado, que es un alias de extender
1
2static Value util._extend(Value v,
...objs);
Parámetros de llamada:
- v: Valor, especifique el objeto a expandir
- objs: ..., especifique uno o más objetos para expandir
Devolver resultado:
- Value, Devuelve el resultado expandido
pick
Devolver unobjectCopiar, solo filtrar el valor de atributo de la clave especificada
1
2static Object util.pick(Value v,
...objs);
Parámetros de llamada:
- v: Valor, especifique el objeto a filtrar
- objs: ..., especifique una o más teclas para la selección
Devolver resultado:
- Object, Devuelve el resultado filtrado
omit
Devolver unobjectCopiar, simplemente excluir el valor de atributo de la clave especificada
1
2static Object util.omit(Value v,
...keys);
Parámetros de llamada:
- v: Valor, especifique el objeto a filtrar
- keys: ..., especifique una o más claves para excluir
Devolver resultado:
- Object, Devuelve resultados excluidos
first
Obtenga el primer elemento de la matriz
1static Value util.first(Value v);
Parámetros de llamada:
- v: Valor, dada la matriz a obtener
Devolver resultado:
- Value, Devuelve el elemento recuperado
Obtenga los primeros elementos múltiples de la matriz
1
2static Value util.first(Value v,
Integer n);
Parámetros de llamada:
- v: Valor, dada la matriz a obtener
- n: Entero, especifique el número de elementos a obtener
Devolver resultado:
- Value, Devuelve la matriz de elementos obtenida
last
Obtenga el primer elemento de la matriz
1static Value util.last(Value v);
Parámetros de llamada:
- v: Valor, dada la matriz a obtener
Devolver resultado:
- Value, Devuelve el elemento recuperado
Obtenga varios elementos al final de la matriz
1
2static Value util.last(Value v,
Integer n);
Parámetros de llamada:
- v: Valor, dada la matriz a obtener
- n: Entero, especifique el número de elementos a obtener
Devolver resultado:
- Value, Devuelve la matriz de elementos obtenida
unique
Obtenga una copia de los elementos de la matriz después de la deduplicación
1
2static Array util.unique(Value v,
Boolean sorted = false);
Parámetros de llamada:
- v: Valor, dada la matriz que se va a deduplicar
- sorted: Booleano, especifique si la matriz está ordenada o no, si la matriz se especifica para ser ordenada, se utilizará un algoritmo rápido
Devolver resultado:
- Array, Devuelve la matriz después de la deduplicación
union
Combine los valores de una o más matrices en una matriz con valores únicos
1static Array util.union(...arrs);
Parámetros de llamada:
- arrs: ..., especifique una o más matrices para fusionar
Devolver resultado:
- Array, Devuelve el resultado combinado
intersection
Devuelve la intersección de una matriz que contiene arr y excluye uno o más elementos de la matriz
1static Array util.intersection(...arrs);
Parámetros de llamada:
- arrs: ..., especifique una o más matrices para calcular la intersección
Devolver resultado:
- Array, Devuelve el resultado de calcular la intersección
flatten
Convierta una matriz con varios niveles de anidación (la anidación puede ser cualquier número de niveles) en una matriz con un solo nivel. Si pasa el parámetro superficial, la matriz solo reducirá el anidamiento unidimensional.
1
2static Array util.flatten(Value arr,
Boolean shallow = false);
Parámetros de llamada:
- arr: Valor, especifique la matriz a convertir
- shallow: Booleano, especifique si desea reducir solo el anidamiento unidimensional, el valor predeterminado es falso
Devolver resultado:
- Array, Devuelve el resultado de la conversión
without
Devuelve una matriz que contiene uno o más elementos excluidos de la matriz de arr
1
2static Array util.without(Value arr,
...els);
Parámetros de llamada:
- arr: Valor, especifique la matriz que se excluirá
- els: ..., especifique uno o más elementos para excluir
Devolver resultado:
- Array, Devuelve resultados excluidos
difference
Devuelve una matriz que contiene la matriz arr y excluye el elemento sin matriz
1
2static Array util.difference(Array list,
...arrs);
Parámetros de llamada:
- list: Matriz, especifique la matriz que se excluirá
- arrs: ..., especifique una o más matrices para excluir
Devolver resultado:
- Array, Devuelve resultados excluidos
each
Recorra todos los elementos de la lista y genere cada elemento en orden con recorrido. Si se pasa el parámetro de contexto, el iterador está vinculado al objeto de contexto. Cada llamada al iterador pasará tres parámetros: (elemento, índice, lista)
1
2
3static Value util.each(Value list,
Function iterator,
Value context = undefined);
Parámetros de llamada:
- list: Valor, especifique la lista u objeto a recorrer
- iterator: Función, especifica la función de devolución de llamada utilizada para el recorrido.
- context: Valor, especifica el objeto de contexto vinculado al llamar al iterador
Devolver resultado:
- Value, Devuelve la lista en sí
map
A través de la función de transformación (iterador), cada valor de la lista se asigna a una nueva matriz. Si se pasa el parámetro de contexto, el iterador está vinculado al objeto de contexto. Cada llamada al iterador pasará tres parámetros: (elemento, índice, lista)
1
2
3static Array util.map(Value list,
Function iterator,
Value context = undefined);
Parámetros de llamada:
- list: Valor, especifique la lista u objeto a transformar
- iterator: Función, especifique la función de devolución de llamada utilizada para la transformación
- context: Valor, especifica el objeto de contexto vinculado al llamar al iterador
Devolver resultado:
- Array, Devuelve el resultado de la transformación.
reduce
Reduzca los elementos de la lista a un solo valor. Si se pasa el parámetro de contexto, el iterador está vinculado al objeto de contexto. Cada llamada al iterador pasará tres parámetros: (memo, elemento, índice, lista)
1
2
3
4static Value util.reduce(Value list,
Function iterator,
Value memo,
Value context = undefined);
Parámetros de llamada:
- list: Valor, especifique la lista u objeto a resolver
- iterator: Función, especifique la función de devolución de llamada utilizada para la resolución
- memo: Valor, especifique el valor inicial de resolución
- context: Valor, especifica el objeto de contexto vinculado al llamar al iterador
Devolver resultado:
- Value, Devuelve el resultado de la resolución
parseArgs
Analizar la cadena de la línea de comando y devolver la lista de parámetros
1static NArray util.parseArgs(String command);
Parámetros de llamada:
- command: Cadena, especifique la cadena de línea de comando que se analizará
Devolver resultado:
- NArray, Devuelve la lista de parámetros analizados
compile
Compilar el script como código binario
1
2
3static Buffer util.compile(String srcname,
String script,
Integer mode = 0);
Parámetros de llamada:
- srcname: Cadena, especifique el nombre del script que se agregará
- script: Cadena, especifique el código de secuencia de comandos que se compilará
- mode: Entero, modo de compilación, 0: módulo, 1: secuencia de comandos, 2: trabajador, el valor predeterminado es 0
Devolver resultado:
- Buffer, Devuelve el código binario compilado
util.compileEl script se puede compilar en un bloque de datos en ejecución interno v8 (código de ejecución que no es de máquina). Una vez que el código compilado se guarda como * .jsc, se puede cargar y ejecutar directamente mediante run y require.
Después de la compilación, el código de destino no podrá obtener el código fuente a la inversa y el programa que depende de Function.toString no se ejecutará normalmente.
sync
Envuelva la función de devolución de llamada o asíncrona como una llamada sincrónica
1
2static Function util.sync(Function func,
Boolean async_func = false);
Parámetros de llamada:
- func: Función, dada la función que debe ajustarse
- async_func: Booleano, especifique procesar func como función asíncrona, si es falso, se juzgará automáticamente
Devolver resultado:
- Function, Devuelve la función que se ejecuta sincrónicamente
util.sync Trate la función de devolución de llamada o la función asíncrona como una función de sincronización para realizar llamadas fácilmente.
El ejemplo de devolución de llamada es el siguiente:
1
2
3
4
5
6
7
8
9
10
11// callback
var util = require('util');
function cb_test(a, b, cb) {
setTimeout(() => {
cb(null, a + b);
}, 100);
}
var fn_sync = util.sync(cb_test);
console.log(fn_sync(100, 200));
El ejemplo asincrónico es el siguiente:
1
2
3
4
5
6
7
8
9// async/await
var util = require('util');
async function async_test(a, b) {
return a + b;
}
var fn_sync = util.sync(async_test);
console.log(fn_sync(100, 200));
Para las funciones que devuelven promesas que no están marcadas como asíncronas, puede especificar manualmente el modo de sincronización:
1
2
3
4
5
6
7
8
9
10
11// async/await
var util = require('util');
function async_test(a, b) {
return new Promise(function(resolve, reject) {
resolve(a + b);
});
}
var fn_sync = util.sync(async_test, true);
console.log(fn_sync(100, 200));
promisify
Envuelva la función de devolución de llamada como llamada asíncrona
1static Function util.promisify(Function func);
Parámetros de llamada:
- func: Función, dada la función que debe ajustarse
Devolver resultado:
- Function, Devuelve la función asincrónica
util.promisify Trate la función de devolución de llamada como una función asíncrona para realizar llamadas fácilmente.
El ejemplo de devolución de llamada es el siguiente:
1
2
3
4
5
6
7
8
9
10
11// callback
var util = require('util');
function cb_test(a, b, cb) {
setTimeout(() => {
cb(null, a + b);
}, 100);
}
var fn_sync = util.promisify(cb_test);
console.log(async fn_sync(100, 200));
callbackify
Envuelva la función asíncrona como una llamada de devolución de llamada
1static Function util.callbackify(Function func);
Parámetros de llamada:
- func: Función, dada la función que debe ajustarse
Devolver resultado:
- Function, Función de devolución de llamada
util.callbackify Trate la función asíncrona como una función de devolución de llamada para llamar fácilmente.
El ejemplo asincrónico es el siguiente:
1
2
3
4
5
6
7
8
9
10
11
12// async
var util = require('util');
async function async_test(a, b) {
return a + b;
}
var fn_callback = util.callbackify(async_test);
fn_callback(100, 200, (err, result) => {
console.log(result);
});
buildInfo
Consultar la información actual de la versión del motor y del componente
1static Object util.buildInfo();
Devolver resultado:
- Object, Devuelve el objeto de la versión del componente
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24{
"fibjs": "0.25.0",
"clang": "9.1",
"date": "Jun 12 2018 07:22:40",
"vender": {
"ev": "4.24",
"expat": "2.2.5",
"gd": "2.2.4",
"jpeg": "8.3",
"leveldb": "1.17",
"mongo": "0.7",
"pcre": "8.21",
"png": "1.5.4",
"mbedtls": "2.6.1",
"snappy": "1.1.2",
"sqlite": "3.23.0",
"tiff": "3.9.5",
"uuid": "1.6.2",
"v8": "6.7.288.20",
"v8-snapshot": true,
"zlib": "1.2.7",
"zmq": "3.1"
}
}