Utilización do módulo
Módulo común de ferramentas
Obxecto
LruCache
Obxecto caché LRU (utilizado menos recentemente), ver LruCache Obxecto.
1LruCache util.LruCache;
Función estática
format
Variables de formato segundo o formato especificado
1
2static String util.format(String fmt,
...args);
Parámetros de chamada:
- fmt: Cadea, formato cadea
- args: ..., lista de parámetros opcional
Resultado de volta:
- String, Devolve a cadea formatada
Variables de formato
1static String util.format(...args);
Parámetros de chamada:
- args: ..., lista de parámetros opcional
Resultado de volta:
- String, Devolve a cadea formatada
inherits
Herda a función prototipo dun constructor a outro. O prototipo do constructor establecerase nun novo obxecto creado a partir do superconstrutor.
1
2static util.inherits(Value constructor,
Value superConstructor);
Parámetros de chamada:
- constructor: Valor, o constructor inicial
- superConstructor: Valor, a superclase que se herda
inspect
A función devolve a representación de cadea de obj, que se usa principalmente para depurar. Pódense usar opcións adicionais para cambiar certos aspectos da cadea de formato.
1
2static String util.inspect(Value obj,
Object options = {});
Parámetros de chamada:
- obj: Valor, especifica o obxecto a procesar
- options: Obxecto, especifica as opcións de control de formato
Resultado de volta:
- String, Devolve a cadea formatada
Admítense os seguintes parámetros:
1
2
3
4
5
6{
"colors": false, // 指定是否输出 ansi 作色字符串,缺省为 false
"table": false, // 指定输出 table 格式,缺省为 false
"encode_string": true, // 指定表格中的字符串是否编码,缺省为 true
"fields": [], // 当 table 为 true 时指定显示字段
}
deprecate
Encapsule a función dada, esta función só é compatible e non emite un aviso
1
2
3static Function util.deprecate(Function fn,
String msg,
String code = "");
Parámetros de chamada:
- fn: Función, dada a función a encapsular
- msg: Cadea, mensaxe de advertencia
- code: Cadea, dado o número de aviso
Resultado de volta:
- Function, Se resulta a encapsulación
isEmpty
Comprobe se a variable indicada non contén ningún valor (sen atributos enumerables)
1static Boolean util.isEmpty(Value v);
Parámetros de chamada:
- v: Valor, dada a variable que se vai probar
Resultado de volta:
- Boolean, Devolve True se está baleiro
isArray
Comprobe se a variable indicada é unha matriz
1static Boolean util.isArray(Value v);
Parámetros de chamada:
- v: Valor, dada a variable que se vai probar
Resultado de volta:
- Boolean, Devolve Verdadeiro se é unha matriz
isBoolean
Comprobe se a variable dada é booleana
1static Boolean util.isBoolean(Value v);
Parámetros de chamada:
- v: Valor, dada a variable que se vai probar
Resultado de volta:
- Boolean, Return True se é booleano
isNull
Comprobe se a variable dada é nula
1static Boolean util.isNull(Value v);
Parámetros de chamada:
- v: Valor, dada a variable que se vai probar
Resultado de volta:
- Boolean, Devolve Verdadeiro se é Nulo
isNullOrUndefined
Comprobe se a variable dada é nula ou sen definir
1static Boolean util.isNullOrUndefined(Value v);
Parámetros de chamada:
- v: Valor, dada a variable que se vai probar
Resultado de volta:
- Boolean, Devolve Verdadeiro se é nulo ou indefinido
isNumber
Comprobe se a variable dada é un número
1static Boolean util.isNumber(Value v);
Parámetros de chamada:
- v: Valor, dada a variable que se vai probar
Resultado de volta:
- Boolean, Devolve Verdadeiro se é un número
isBigInt
Comprobe se a variable dada é BigInt
1static Boolean util.isBigInt(Value v);
Parámetros de chamada:
- v: Valor, dada a variable que se vai probar
Resultado de volta:
- Boolean, Devolve Verdadeiro se é un número
isString
Comprobe se a variable indicada é unha cadea
1static Boolean util.isString(Value v);
Parámetros de chamada:
- v: Valor, dada a variable que se vai probar
Resultado de volta:
- Boolean, Devolve Verdadeiro se é unha cadea
isUndefined
Comprobe se a variable indicada non está definida
1static Boolean util.isUndefined(Value v);
Parámetros de chamada:
- v: Valor, dada a variable que se vai probar
Resultado de volta:
- Boolean, Devolve Verdadeiro se non está definido
isRegExp
Comprobe se a variable dada é un obxecto normal
1static Boolean util.isRegExp(Value v);
Parámetros de chamada:
- v: Valor, dada a variable que se vai probar
Resultado de volta:
- Boolean, Return True se é un obxecto regular
isObject
Comprobe se a variable dada é un obxecto
1static Boolean util.isObject(Value v);
Parámetros de chamada:
- v: Valor, dada a variable que se vai probar
Resultado de volta:
- Boolean, Devolve Verdadeiro se é un obxecto
isDate
Comprobe se a variable indicada é un obxecto de data
1static Boolean util.isDate(Value v);
Parámetros de chamada:
- v: Valor, dada a variable que se vai probar
Resultado de volta:
- Boolean, Return True se é un obxecto de data
isNativeError
Comprobe se a variable indicada é un obxecto incorrecto
1static Boolean util.isNativeError(Value v);
Parámetros de chamada:
- v: Valor, dada a variable que se vai probar
Resultado de volta:
- Boolean, Devolve Verdadeiro se é un obxecto de erro
isPrimitive
Comprobe se a variable dada é de tipo primitivo
1static Boolean util.isPrimitive(Value v);
Parámetros de chamada:
- v: Valor, dada a variable que se vai probar
Resultado de volta:
- Boolean, Return True se é un tipo primitivo
isSymbol
Comprobe se a variable indicada é de tipo Símbolo
1static Boolean util.isSymbol(Value v);
Parámetros de chamada:
- v: Valor, dada a variable que se vai probar
Resultado de volta:
- Boolean, Se é un tipo de símbolo, devolve True
isDataView
Comprobe se a variable indicada é do tipo DataView
1static Boolean util.isDataView(Value v);
Parámetros de chamada:
- v: Valor, dada a variable que se vai probar
Resultado de volta:
- Boolean, Devolve True se é do tipo DataView
isExternal
Comprobe se a variable dada é de tipo Externa
1static Boolean util.isExternal(Value v);
Parámetros de chamada:
- v: Valor, dada a variable que se vai probar
Resultado de volta:
- Boolean, Se é un tipo externo, devolve True
isMap
Comprobe se a variable indicada é do tipo Mapa
1static Boolean util.isMap(Value v);
Parámetros de chamada:
- v: Valor, dada a variable que se vai probar
Resultado de volta:
- Boolean, Devolve Verdadeiro se é un tipo de Mapa
isMapIterator
Comprobe se a variable indicada é do tipo MapIterator
1static Boolean util.isMapIterator(Value v);
Parámetros de chamada:
- v: Valor, dada a variable que se vai probar
Resultado de volta:
- Boolean, Return True se é do tipo MapIterator
isPromise
Comprobe se a variable indicada é de tipo Promesa
1static Boolean util.isPromise(Value v);
Parámetros de chamada:
- v: Valor, dada a variable que se vai probar
Resultado de volta:
- Boolean, Devolve Verdadeiro se é de tipo Promesa
isAsyncFunction
Comprobe se a variable indicada é do tipo AsyncFunction
1static Boolean util.isAsyncFunction(Value v);
Parámetros de chamada:
- v: Valor, dada a variable que se vai probar
Resultado de volta:
- Boolean, Devolve Verdadeiro se é do tipo AsyncFunction
isSet
Comprobe se a variable indicada é do tipo Set
1static Boolean util.isSet(Value v);
Parámetros de chamada:
- v: Valor, dada a variable que se vai probar
Resultado de volta:
- Boolean, Se é un tipo Set, devolve True
isSetIterator
Comprobe se a variable indicada é do tipo SetIterator
1static Boolean util.isSetIterator(Value v);
Parámetros de chamada:
- v: Valor, dada a variable que se vai probar
Resultado de volta:
- Boolean, Devolve True se é do tipo SetIterator
isTypedArray
Comprobe se a variable dada é de tipo TypedArray
1static Boolean util.isTypedArray(Value v);
Parámetros de chamada:
- v: Valor, dada a variable que se vai probar
Resultado de volta:
- Boolean, Se é un tipo TypedArray, devolve True
isUint8Array
Comprobe se a variable dada é do tipo Uint8Array
1static Boolean util.isUint8Array(Value v);
Parámetros de chamada:
- v: Valor, dada a variable que se vai probar
Resultado de volta:
- Boolean, Devolve Verdadeiro se é do tipo Uint8Array
isFunction
Comprobe se a variable dada é un obxecto de función
1static Boolean util.isFunction(Value v);
Parámetros de chamada:
- v: Valor, dada a variable que se vai probar
Resultado de volta:
- Boolean, Devolve Verdadeiro se é un obxecto de función
isBuffer
Comprobe se a variable dada é unha función Buffer Obxecto
1static Boolean util.isBuffer(Value v);
Parámetros de chamada:
- v: Valor, dada a variable que se vai probar
Resultado de volta:
- Boolean, Se é unha función Buffer O obxecto devolve verdadeiro
isDeepEqual
A profundidade do valor da proba é igual ao valor esperado
1
2static Boolean util.isDeepEqual(Value actual,
Value expected);
Parámetros de chamada:
- actual: Valor, o valor que se vai probar
- expected: Valor, valor esperado
Resultado de volta:
- Boolean, Return True se as profundidades son iguais
has
Consulta se o obxecto especificado contén a clave dada
1
2static Boolean util.has(Value v,
String key);
Parámetros de chamada:
- v: Valor, dado o obxecto a consultar
- key: Cadea, especifique a clave que se vai consultar
Resultado de volta:
- Boolean, Devolve unha matriz de todas as claves do obxecto
keys
Consulte todas as matrices clave do obxecto especificado
1static Array util.keys(Value v);
Parámetros de chamada:
- v: Valor, dado o obxecto a consultar
Resultado de volta:
- Array, Devolve unha matriz de todas as claves do obxecto
values
Consulte a matriz de todos os valores do obxecto especificado
1static Array util.values(Value v);
Parámetros de chamada:
- v: Valor, dado o obxecto a consultar
Resultado de volta:
- Array, Devolve unha matriz de todos os valores do obxecto
clone
Clonar a variable dada, se é un obxecto ou unha matriz, copie o contido no novo obxecto
1static Value util.clone(Value v);
Parámetros de chamada:
- v: Valor, dada a variable que se vai clonar
Resultado de volta:
- Value, Devolve o resultado clonado
deepFreeze
Non se permitirá a conxelación dun obxecto, o obxecto conxelado e os seus obxectos contidos
1static util.deepFreeze(Value v);
Parámetros de chamada:
- v: Valor, especifique o obxecto que se vai conxelar
extend
Amplíe o valor clave dun ou máis obxectos ao obxecto especificado
1
2static Value util.extend(Value v,
...objs);
Parámetros de chamada:
- v: Valor, especifica o obxecto a expandir
- objs: ..., especifique un ou máis obxectos para a expansión
Resultado de volta:
- Value, Devolve o resultado expandido
_extend
Amplíe o valor clave dun ou máis obxectos ao obxecto especificado, que é un alias de extensión
1
2static Value util._extend(Value v,
...objs);
Parámetros de chamada:
- v: Valor, especifica o obxecto a expandir
- objs: ..., especifique un ou máis obxectos para a expansión
Resultado de volta:
- Value, Devolve o resultado expandido
pick
Devolver aobjectCopia, só filtra o valor do atributo da clave especificada
1
2static Object util.pick(Value v,
...objs);
Parámetros de chamada:
- v: Valor, especifique o obxecto que se vai filtrar
- objs: ..., especifique unha ou máis teclas para a selección
Resultado de volta:
- Object, Devolve o resultado filtrado
omit
Devolver aobjectCopia, só tes que excluír o valor do atributo da clave especificada
1
2static Object util.omit(Value v,
...keys);
Parámetros de chamada:
- v: Valor, especifique o obxecto que se vai filtrar
- keys: ..., especifique unha ou máis claves para excluír
Resultado de volta:
- Object, Devolve resultados excluídos
first
Obtén o primeiro elemento da matriz
1static Value util.first(Value v);
Parámetros de chamada:
- v: Valor, dada a matriz que se vai obter
Resultado de volta:
- Value, Devolve o elemento recuperado
Obtén os primeiros elementos múltiples da matriz
1
2static Value util.first(Value v,
Integer n);
Parámetros de chamada:
- v: Valor, dada a matriz que se vai obter
- n: Enteiro, especifique o número de elementos a obter
Resultado de volta:
- Value, Devolve a matriz de elementos obtidos
last
Obtén o primeiro elemento da matriz
1static Value util.last(Value v);
Parámetros de chamada:
- v: Valor, dada a matriz que se vai obter
Resultado de volta:
- Value, Devolve o elemento recuperado
Obtén varios elementos ao final da matriz
1
2static Value util.last(Value v,
Integer n);
Parámetros de chamada:
- v: Valor, dada a matriz que se vai obter
- n: Enteiro, especifique o número de elementos a obter
Resultado de volta:
- Value, Devolve a matriz de elementos obtidos
unique
Obteña unha copia dos elementos da matriz despois da duplicación
1
2static Array util.unique(Value v,
Boolean sorted = false);
Parámetros de chamada:
- v: Valor, dada a matriz a deduplicar
- sorted: Booleano, especifica se a matriz está ordenada ou non, se se especifica que a matriz será ordenada, utilizarase un algoritmo rápido
Resultado de volta:
- Array, Devolve a matriz despois da deduplicación
union
Combina os valores dunha ou máis matrices nunha matriz con valores únicos
1static Array util.union(...arrs);
Parámetros de chamada:
- arrs: ..., especifique unha ou máis matrices para a fusión
Resultado de volta:
- Array, Devolve o resultado combinado
intersection
Devolve a intersección dunha matriz que contén arr e exclúe un ou máis elementos de matriz
1static Array util.intersection(...arrs);
Parámetros de chamada:
- arrs: ..., especifique unha ou máis matrices para calcular intersección
Resultado de volta:
- Array, Devolve o resultado de calcular a intersección
flatten
Converte unha matriz con varios niveis de aniñamento (a aniñación pode ser calquera número de niveis) nunha matriz cun só nivel. Se pasa o parámetro pouco profundo, a matriz só reducirá o anidamento unidimensional.
1
2static Array util.flatten(Value arr,
Boolean shallow = false);
Parámetros de chamada:
- arr: Valor, especifique a matriz que se vai converter
- shallow: Booleano, especifique se se reduce só o anidamento unidimensional, o predeterminado é falso
Resultado de volta:
- Array, Devolve o resultado da conversión
without
Devolve unha matriz que contén un ou máis elementos excluídos da matriz arr
1
2static Array util.without(Value arr,
...els);
Parámetros de chamada:
- arr: Valor, especifica a matriz a excluír
- els: ..., especifique un ou máis elementos para excluír
Resultado de volta:
- Array, Devolve resultados excluídos
difference
Devolve unha matriz que contén a matriz arr e exclúe o elemento sen matriz
1
2static Array util.difference(Array list,
...arrs);
Parámetros de chamada:
- list: Matriz, especifique a matriz a excluír
- arrs: ..., especifique unha ou máis matrices para excluír
Resultado de volta:
- Array, Devolve resultados excluídos
each
Atravesa todos os elementos da lista e envía cada elemento en orde co percorrido. Se se pasa o parámetro de contexto, o iterador está ligado ao obxecto de contexto. Cada chamada ao iterador pasará tres parámetros: (elemento, índice, lista)
1
2
3static Value util.each(Value list,
Function iterator,
Value context = undefined);
Parámetros de chamada:
- list: Valor, especifica a lista ou o obxecto a percorrer
- iterator: Función, especifica a función de devolución de chamada usada para o percorrido
- context: Valor, especifica o obxecto de contexto ligado ao chamar ao iterador
Resultado de volta:
- Value, Devolve a propia lista
map
Mediante a función de transformación (iterador), cada valor da lista mapéase a unha nova matriz. Se se pasa o parámetro de contexto, o iterador está ligado ao obxecto de contexto. Cada chamada ao iterador pasará tres parámetros: (elemento, índice, lista)
1
2
3static Array util.map(Value list,
Function iterator,
Value context = undefined);
Parámetros de chamada:
- list: Valor, especifique a lista ou o obxecto a transformar
- iterator: Función, especifica a función de devolución de chamada usada para a transformación
- context: Valor, especifica o obxecto de contexto ligado ao chamar ao iterador
Resultado de volta:
- Array, Devolve o resultado da transformación
reduce
Reduce os elementos da lista a un único valor. Se se pasa o parámetro de contexto, o iterador está ligado ao obxecto de contexto. Cada chamada ao iterador pasará tres parámetros: (nota, elemento, índice, lista)
1
2
3
4static Value util.reduce(Value list,
Function iterator,
Value memo,
Value context = undefined);
Parámetros de chamada:
- list: Valor, especifique a lista ou o obxecto que se vai resolver
- iterator: Función, especifique a función de devolución de chamada utilizada para a resolución
- memo: Valor, especifique o valor inicial da resolución
- context: Valor, especifica o obxecto de contexto ligado ao chamar ao iterador
Resultado de volta:
- Value, Devolve o resultado da resolución
parseArgs
Analice a cadea de liña de comandos e devolva a lista de parámetros
1static NArray util.parseArgs(String command);
Parámetros de chamada:
- command: Cadea, especifique a cadea de liña de comandos que se vai analizar
Resultado de volta:
- NArray, Devolve a lista de parámetros analizados
compile
Compila o script como código binario
1
2
3static Buffer util.compile(String srcname,
String script,
Integer mode = 0);
Parámetros de chamada:
- srcname: Cadea, especifique o nome do script que se vai engadir
- script: Cadea, especifique o código de script que se compilará
- mode: Enteiro, modo de compilación, 0: módulo, 1: script, 2: traballador, o predeterminado é 0
Resultado de volta:
- Buffer, Devolve o código binario compilado
util.compileO script pódese compilar nun bloque de datos en execución interno v8 (código de execución que non é máquina). Despois de gardar o código compilado como * .jsc, pódese cargar e executar directamente por execución e requirilo.
Despois da compilación, o código de destino non poderá obter o código fonte ao revés e o programa que depende de Function.toString non se executará normalmente.
sync
Axuste a función de devolución de chamada ou asíncrona como unha chamada síncrona
1
2static Function util.sync(Function func,
Boolean async_func = false);
Parámetros de chamada:
- func: Función, dada a función que hai que axustar
- async_func: Booleano, especifique que se procesarán as funcións como función asíncrona; se é falsa, xulgarase automaticamente
Resultado de volta:
- Function, Devolve a función que se executa de forma sincrónica
util.sync Trata a función de devolución de chamada ou asincrónica como unha función de sincronización para facilitar a chamada.
O exemplo de devolución de chamada é o seguinte:
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));
O exemplo asíncrono é o seguinte:
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 as funcións que devolven promesas que non están marcadas como asíncronas, pode especificar manualmente o 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
Enrolle a función de devolución de chamada como chamada asíncrona
1static Function util.promisify(Function func);
Parámetros de chamada:
- func: Función, dada a función que hai que axustar
Resultado de volta:
- Function, Devolve a función de sincronización
util.promisify Trata a función de devolución de chamada como unha función asíncrona para facilitar a chamada.
O exemplo de devolución de chamada é o seguinte:
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
Enrolle a función de sincronización como unha chamada de devolución de chamada
1static Function util.callbackify(Function func);
Parámetros de chamada:
- func: Función, dada a función que hai que axustar
Resultado de volta:
- Function, Función de devolución de chamada
util.callbackify Trata a función de sincronización como unha función de devolución de chamada para facilitar as chamadas.
O exemplo asíncrono é o seguinte:
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 información actual sobre o motor e a versión do compoñente
1static Object util.buildInfo();
Resultado de volta:
- Object, Devolve o obxecto da versión do compoñente
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"
}
}