Modul Grundmodul

Modul-Util

Das util-Modul bietet praktische Toolfunktionen wie die Beurteilung des Datentyps, das Kopieren von Objektattributen, das Parsen von Vorlagenzeichenfolgen und die Ereignisverarbeitung.

Das Folgende ist eine spezifische Einführung und Beispiele:

  1. Bestimmen Sie den Datentyp – util.is[type] Dieses Modul bietet Methoden wie isDate, usw., um den Datentyp der eingehenden Parameter zu bestimmen, zum Beispiel isRegExp:isError
1 2 3
var util = require('util'); console.log(util.isDate(new Date())); console.log(util.isRegExp(/some regexp/));
  1. Kopieren von Objekteigenschaften – util.inherits() Diese Methode kann optional einen Konstruktor von einem anderen erben und so eine prototypische Vererbung implementieren.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
var util = require('util'); function Animal() { this.name = 'Animal'; this.sleep = function() { console.log(this.name + '正在睡觉!'); } } Animal.prototype.eat = function(food) { console.log(this.name + '正在吃:' + food); }; function Cat() { this.name = 'cat'; } util.inherits(Cat, Animal);

Verwenden Sie Catdiesen Konstruktor, um Animaldie Instanzeigenschaften und Prototypeigenschaften von zu erben und Catdie Eigenschaften und Methoden der Instanz auszugeben.

1 2 3 4
var cat = new Cat(); console.log(cat.name); console.log(cat.eat('fish')); console.log(cat.sleep());
  1. util.format() Formatierte Ausgabevorlage
1 2 3 4 5
const util = require('util'); const str1 = util.format('%s:%s', 'foo'); const str2 = util.format('%s:%s', 'foo', 'bar', 'baz'); console.log(str1) // => 'foo:%s' console.log(str2) // => 'foo:bar baz'

Im Folgenden sind utileinige gängige Modulmethoden aufgeführt, die häufig zur Vereinfachung des eigentlichen Entwicklungsprozesses verwendet werden können.

Objekt

LruCache

LRU-Cache-Objekt (zuletzt verwendet), sieheLruCacheObjekt.

1
LruCache util.LruCache;

TextDecoder

TextDecoderDekodierungsobjekt, sieheTextDecoderObjekt.

1
TextDecoder util.TextDecoder;

TextEncoder

TextEncoderCodieren von Objekten, sieheTextEncoderObjekt.

1
TextEncoder util.TextEncoder;

types

typesDas Modul stellt Toolfunktionen zur Bestimmung von Datentypen bereit.

1
types util.types;

statische Funktion

format

Formatieren Sie Variablen entsprechend dem angegebenen Format

1 2
static String util.format(String fmt, ...args);

Aufrufparameter:

  • fmt: String, Formatstring
  • args: ..., optionale Parameterliste

Rückgabeergebnisse:

  • String, gibt die formatierte Zeichenfolge zurück

Formatformatvariable

1
static String util.format(...args);

Aufrufparameter:

  • args: ..., optionale Parameterliste

Rückgabeergebnisse:

  • String, gibt die formatierte Zeichenfolge zurück

inherits

Erben Sie Prototypfunktionen von einem Konstruktor auf einen anderen. Der Prototyp des Konstruktors wird auf ein neues Objekt gesetzt, das aus der Oberklasse (superConstructor) erstellt wurde.

1 2
static util.inherits(Value constructor, Value superConstructor);

Aufrufparameter:

  • constructor: Wert, anfänglicher Konstruktor
  • superConstructor: Wert, die geerbte Superklasse

inspect

Die Funktion gibt die Zeichenfolgendarstellung von obj zurück, die hauptsächlich zum Debuggen verwendet wird. Zusätzliche Optionen können verwendet werden, um bestimmte Aspekte der formatierten Zeichenfolge zu ändern.

1 2
static String util.inspect(Value obj, Object options = {});

Aufrufparameter:

  • obj: Wert, gibt das zu verarbeitende Objekt an
  • options: Objekt, Formatsteuerungsoptionen angeben

Rückgabeergebnisse:

  • String, gibt die formatierte Zeichenfolge zurück

Folgende Parameter werden unterstützt:

1 2 3 4 5 6 7 8 9
{ "colors": false, // specify if output should be colorized, defaults to false "depth": 2, // specify the max depth of the output, defaults to 2 "table": false, // specify if output should be a table, defaults to false "encode_string": true, // specify if string should be encoded, defaults to true "maxArrayLength": 100, // specify max number of array elements to show, set to 0 or negative to show no elements, defaults to 100 "maxStringLength": 10000, // specify max string length to output, set to 0 or negative to show no strings, defaults to 10000 "fields": [], // specify the fields to be displayed, defaults to all }

deprecate

Kapselt die angegebene Funktion. Diese Funktion ist nur kompatibel und gibt keine Warnungen aus.

1 2 3
static Function util.deprecate(Function fn, String msg, String code = "");

Aufrufparameter:

  • fn: Funktion, vorausgesetzt, die Funktion muss gekapselt werden
  • msg: String, gegebene Warnmeldung
  • code: String, angegebene Warnnummer

Rückgabeergebnisse:

  • Function, wenn das Kapselungsergebnis

isEmpty

Prüft, ob die angegebene Variable keinen Wert enthält (keine aufzählbaren Eigenschaften)

1
static Boolean util.isEmpty(Value v);

Aufrufparameter:

  • v: Wert angesichts der zu erkennenden Variablen

Rückgabeergebnisse:

  • Boolean, gibt True zurück, wenn es leer ist

isArray

Überprüft, ob die angegebene Variable ein Array ist

1
static Boolean util.isArray(Value v);

Aufrufparameter:

  • v: Wert angesichts der zu erkennenden Variablen

Rückgabeergebnisse:

  • Boolean, gibt True zurück, wenn es sich um ein Array handelt

isBoolean

Testet, ob die angegebene Variable ein Boolescher Wert ist

1
static Boolean util.isBoolean(Value v);

Aufrufparameter:

  • v: Wert angesichts der zu erkennenden Variablen

Rückgabeergebnisse:

  • Boolean, wenn es boolesch ist, wird True zurückgegeben

isNull

Überprüft, ob die angegebene Variable Null ist

1
static Boolean util.isNull(Value v);

Aufrufparameter:

  • v: Wert angesichts der zu erkennenden Variablen

Rückgabeergebnisse:

  • Boolean, wenn es Null ist, wird True zurückgegeben

isNullOrUndefined

Überprüft, ob die angegebene Variable Null oder Undefiniert ist

1
static Boolean util.isNullOrUndefined(Value v);

Aufrufparameter:

  • v: Wert angesichts der zu erkennenden Variablen

Rückgabeergebnisse:

  • Boolean, wenn es Null oder Undefiniert ist, wird True zurückgegeben

isNumber

Testet, ob die angegebene Variable eine Zahl ist

1
static Boolean util.isNumber(Value v);

Aufrufparameter:

  • v: Wert angesichts der zu erkennenden Variablen

Rückgabeergebnisse:

  • Boolean, gibt True zurück, wenn es eine Zahl ist

isBigInt

Testet, ob die angegebene Variable ein BigInt ist

1
static Boolean util.isBigInt(Value v);

Aufrufparameter:

  • v: Wert angesichts der zu erkennenden Variablen

Rückgabeergebnisse:

  • Boolean, gibt True zurück, wenn es eine Zahl ist

isString

Überprüft, ob die angegebene Variable ein String ist

1
static Boolean util.isString(Value v);

Aufrufparameter:

  • v: Wert angesichts der zu erkennenden Variablen

Rückgabeergebnisse:

  • Boolean, gibt True zurück, wenn es sich um eine Zeichenfolge handelt

isUndefined

Überprüft, ob die angegebene Variable undefiniert ist

1
static Boolean util.isUndefined(Value v);

Aufrufparameter:

  • v: Wert angesichts der zu erkennenden Variablen

Rückgabeergebnisse:

  • Boolean, wenn es Undefiniert ist, geben Sie True zurück

isRegExp

Testet, ob die angegebene Variable ein reguläres Objekt ist

1
static Boolean util.isRegExp(Value v);

Aufrufparameter:

  • v: Wert angesichts der zu erkennenden Variablen

Rückgabeergebnisse:

  • Boolean, gibt True zurück, wenn es sich um ein reguläres Objekt handelt

isObject

Testet, ob die angegebene Variable ein Objekt ist

1
static Boolean util.isObject(Value v);

Aufrufparameter:

  • v: Wert angesichts der zu erkennenden Variablen

Rückgabeergebnisse:

  • Boolean, gibt True zurück, wenn es sich um ein Objekt handelt

isDate

Testet, ob die angegebene Variable ein Datumsobjekt ist

1
static Boolean util.isDate(Value v);

Aufrufparameter:

  • v: Wert angesichts der zu erkennenden Variablen

Rückgabeergebnisse:

  • Boolean, gibt True zurück, wenn es sich um ein Datumsobjekt handelt

isNativeError

Testet, ob die angegebene Variable ein Fehlerobjekt ist

1
static Boolean util.isNativeError(Value v);

Aufrufparameter:

  • v: Wert angesichts der zu erkennenden Variablen

Rückgabeergebnisse:

  • Boolean, gibt True zurück, wenn es sich um ein Fehlerobjekt handelt

isPrimitive

Überprüft, ob die angegebene Variable vom primitiven Typ ist

1
static Boolean util.isPrimitive(Value v);

Aufrufparameter:

  • v: Wert angesichts der zu erkennenden Variablen

Rückgabeergebnisse:

  • Boolean, gibt True zurück, wenn es sich um einen primitiven Typ handelt

isSymbol

Überprüfen Sie, ob die angegebene Variable vom Typ Symbol ist

1
static Boolean util.isSymbol(Value v);

Aufrufparameter:

  • v: Wert angesichts der zu erkennenden Variablen

Rückgabeergebnisse:

  • Boolean, wenn es sich um einen Symboltyp handelt, wird True zurückgegeben

isDataView

Überprüft, ob die angegebene Variable vom Typ DataView ist

1
static Boolean util.isDataView(Value v);

Aufrufparameter:

  • v: Wert angesichts der zu erkennenden Variablen

Rückgabeergebnisse:

  • Boolean, wenn es sich um einen DataView-Typ handelt, wird True zurückgegeben

isExternal

Überprüft, ob die angegebene Variable vom Typ External ist

1
static Boolean util.isExternal(Value v);

Aufrufparameter:

  • v: Wert angesichts der zu erkennenden Variablen

Rückgabeergebnisse:

  • Boolean, wenn es sich um einen externen Typ handelt, wird True zurückgegeben

isMap

Überprüfen Sie, ob die angegebene Variable vom Typ Map ist

1
static Boolean util.isMap(Value v);

Aufrufparameter:

  • v: Wert angesichts der zu erkennenden Variablen

Rückgabeergebnisse:

  • Boolean, wenn es sich um einen Kartentyp handelt, wird True zurückgegeben

isMapIterator

Überprüft, ob die angegebene Variable vom Typ MapIterator ist

1
static Boolean util.isMapIterator(Value v);

Aufrufparameter:

  • v: Wert angesichts der zu erkennenden Variablen

Rückgabeergebnisse:

  • Boolean, gibt True zurück, wenn es sich um einen MapIterator-Typ handelt

isPromise

Überprüft, ob die angegebene Variable vom Typ Promise ist

1
static Boolean util.isPromise(Value v);

Aufrufparameter:

  • v: Wert angesichts der zu erkennenden Variablen

Rückgabeergebnisse:

  • BooleanWenn es sich um einen Promise-Typ handelt, wird True zurückgegeben

isAsyncFunction

Überprüft, ob die angegebene Variable vom Typ AsyncFunction ist

1
static Boolean util.isAsyncFunction(Value v);

Aufrufparameter:

  • v: Wert angesichts der zu erkennenden Variablen

Rückgabeergebnisse:

  • Boolean, wenn es sich um einen AsyncFunction-Typ handelt, wird True zurückgegeben

isSet

Überprüft, ob die angegebene Variable vom Typ Set ist

1
static Boolean util.isSet(Value v);

Aufrufparameter:

  • v: Wert angesichts der zu erkennenden Variablen

Rückgabeergebnisse:

  • BooleanWenn es sich um einen Set-Typ handelt, wird True zurückgegeben

isSetIterator

Überprüft, ob die angegebene Variable vom Typ SetIterator ist

1
static Boolean util.isSetIterator(Value v);

Aufrufparameter:

  • v: Wert angesichts der zu erkennenden Variablen

Rückgabeergebnisse:

  • BooleanWenn es sich um einen SetIterator-Typ handelt, wird True zurückgegeben

isTypedArray

Überprüft, ob die angegebene Variable vom Typ TypedArray ist

1
static Boolean util.isTypedArray(Value v);

Aufrufparameter:

  • v: Wert angesichts der zu erkennenden Variablen

Rückgabeergebnisse:

  • Boolean, wenn es sich um einen TypedArray-Typ handelt, wird True zurückgegeben

isUint8Array

Überprüft, ob die angegebene Variable vom Typ Uint8Array ist

1
static Boolean util.isUint8Array(Value v);

Aufrufparameter:

  • v: Wert angesichts der zu erkennenden Variablen

Rückgabeergebnisse:

  • Boolean, gibt True zurück, wenn es sich um den Typ Uint8Array handelt

isFunction

Testet, ob die angegebene Variable ein Funktionsobjekt ist

1
static Boolean util.isFunction(Value v);

Aufrufparameter:

  • v: Wert angesichts der zu erkennenden Variablen

Rückgabeergebnisse:

  • Boolean, gibt True zurück, wenn es sich um ein Funktionsobjekt handelt

isBuffer

Testet, ob die angegebene Variable eine Funktion istBufferObjekt

1
static Boolean util.isBuffer(Value v);

Aufrufparameter:

  • v: Wert angesichts der zu erkennenden Variablen

Rückgabeergebnisse:

  • Boolean, wenn es eine Funktion istBufferDas Objekt gibt True zurück

isDeepEqual

Die Testwerttiefe entspricht dem erwarteten Wert

1 2
static Boolean util.isDeepEqual(Value actual, Value expected);

Aufrufparameter:

  • actual: Wert, der zu testende Wert
  • expected: Wert, erwarteter Wert

Rückgabeergebnisse:

  • Boolean, gibt True zurück, wenn die Tiefen gleich sind

has

Fragen Sie ab, ob das angegebene Objekt den angegebenen Schlüssel enthält

1 2
static Boolean util.has(Value v, String key);

Aufrufparameter:

  • v: Wert angesichts des abzufragenden Objekts
  • key: String, geben Sie den abzufragenden Schlüssel an

Rückgabeergebnisse:

  • Boolean, gibt ein Array aller Schlüssel des Objekts zurück

keys

Fragen Sie alle Schlüsselarrays des angegebenen Objekts ab

1
static Array util.keys(Value v);

Aufrufparameter:

  • v: Wert angesichts des abzufragenden Objekts

Rückgabeergebnisse:

  • Array, gibt ein Array aller Schlüssel des Objekts zurück

values

Fragen Sie alle Wertearrays des angegebenen Objekts ab

1
static Array util.values(Value v);

Aufrufparameter:

  • v: Wert angesichts des abzufragenden Objekts

Rückgabeergebnisse:

  • Array, gibt ein Array aller Werte des Objekts zurück

clone

Klonen Sie die angegebene Variable. Wenn es sich um ein Objekt oder Array handelt, kopieren Sie den Inhalt in das neue Objekt

1
static Value util.clone(Value v);

Aufrufparameter:

  • v: Wert, gegeben die zu klonende Variable

Rückgabeergebnisse:

  • Value, gibt das Klonergebnis zurück

deepFreeze

Ein Objekt tief einfrieren. Das eingefrorene Objekt und die darin enthaltenen Objekte dürfen nicht geändert werden.

1
static util.deepFreeze(Value v);

Aufrufparameter:

  • v: Wert, gibt das Objekt an, das eingefroren werden soll

extend

Erweitern Sie die Schlüsselwerte eines oder mehrerer Objekte auf das angegebene Objekt

1 2
static Value util.extend(Value v, ...objs);

Aufrufparameter:

  • v: Wert, gibt das zu erweiternde Objekt an
  • objs: ..., gibt ein oder mehrere Objekte zur Erweiterung an

Rückgabeergebnisse:

  • Value, gibt das erweiterte Ergebnis zurück

_extend

Erweitern Sie die Schlüsselwerte eines oder mehrerer Objekte auf das angegebene Objekt, bei dem es sich um einen Extend-Alias ​​handelt

1 2
static Value util._extend(Value v, ...objs);

Aufrufparameter:

  • v: Wert, gibt das zu erweiternde Objekt an
  • objs: ..., gibt ein oder mehrere Objekte zur Erweiterung an

Rückgabeergebnisse:

  • Value, gibt das erweiterte Ergebnis zurück

pick

Geben Sie a zurückobjectKopieren und filtern Sie nur die Attributwerte des angegebenen Schlüssels heraus

1 2
static Object util.pick(Value v, ...objs);

Aufrufparameter:

  • v: Wert, gibt das zu filternde Objekt an
  • objs: ..., geben Sie einen oder mehrere Schlüssel zur Auswahl an

Rückgabeergebnisse:

  • Object, gibt gefilterte Ergebnisse zurück

omit

Geben Sie a zurückobjectKopieren, wobei nur der Attributwert des angegebenen Schlüssels ausgeschlossen wird

1 2
static Object util.omit(Value v, ...keys);

Aufrufparameter:

  • v: Wert, gibt das zu filternde Objekt an
  • keys: ..., geben Sie einen oder mehrere Schlüssel für den Ausschluss an

Rückgabeergebnisse:

  • Object, gibt ausgeschlossene Ergebnisse zurück

first

Holen Sie sich das erste Element des Arrays

1
static Value util.first(Value v);

Aufrufparameter:

  • v: Wert angesichts des abzurufenden Arrays

Rückgabeergebnisse:

  • Value, gibt das abgerufene Element zurück

Rufen Sie die ersten mehreren Elemente eines Arrays ab

1 2
static Value util.first(Value v, Integer n);

Aufrufparameter:

  • v: Wert angesichts des abzurufenden Arrays
  • n: Ganzzahl, gibt die Anzahl der abzurufenden Elemente an

Rückgabeergebnisse:

  • Value, gibt das erhaltene Array von Elementen zurück

last

Holen Sie sich das letzte Element des Arrays

1
static Value util.last(Value v);

Aufrufparameter:

  • v: Wert angesichts des abzurufenden Arrays

Rückgabeergebnisse:

  • Value, gibt das abgerufene Element zurück

Holen Sie sich mehrere Elemente am Ende eines Arrays

1 2
static Value util.last(Value v, Integer n);

Aufrufparameter:

  • v: Wert angesichts des abzurufenden Arrays
  • n: Ganzzahl, gibt die Anzahl der abzurufenden Elemente an

Rückgabeergebnisse:

  • Value, gibt das erhaltene Array von Elementen zurück

unique

Erhalten Sie eine deduplizierte Kopie der Elemente eines Arrays

1 2
static Array util.unique(Value v, Boolean sorted = false);

Aufrufparameter:

  • v: Wert, gegebenes Array, das dupliziert werden soll
  • sorted: Boolescher Wert, gibt an, ob das Array sortiert ist. Wenn das Array sortiert ist, wird ein schneller Algorithmus verwendet.

Rückgabeergebnisse:

  • Array, gibt das Array zurück, nachdem doppelte Elemente entfernt wurden

union

Kombinieren Sie die Werte eines oder mehrerer Arrays zu einem Array mit eindeutigen Werten

1
static Array util.union(...arrs);

Aufrufparameter:

  • arrs: ..., geben Sie ein oder mehrere Arrays zum Zusammenführen an

Rückgabeergebnisse:

  • Array, gibt das zusammengeführte Ergebnis zurück

intersection

Gibt den Schnittpunkt des Arrays zurück, das arr enthält, mit Ausnahme eines oder mehrerer Array-Elemente.

1
static Array util.intersection(...arrs);

Aufrufparameter:

  • arrs: ..., geben Sie ein oder mehrere Arrays an, die zur Berechnung der Schnittmenge verwendet werden

Rückgabeergebnisse:

  • Array, gibt das Ergebnis der Schnittpunktberechnung zurück

flatten

Konvertieren Sie ein Array mit mehreren Verschachtelungsebenen (die Verschachtelung kann eine beliebige Anzahl von Ebenen umfassen) in ein Array mit nur einer Ebene. Wenn Sie den Parameter „shallow“ übergeben, wird das Array auf nur eine Verschachtelungsdimension reduziert.

1 2
static Array util.flatten(Value arr, Boolean shallow = false);

Aufrufparameter:

  • arr: Wert, gibt das zu konvertierende Array an
  • shallow: Boolean, gibt an, ob nur eine Dimension der Verschachtelung reduziert werden soll, der Standardwert ist false

Rückgabeergebnisse:

  • Array, gibt das Ergebnis der Konvertierung zurück

without

Gibt ein Array zurück, das ein oder mehrere Elemente im arr-Array enthält, ausgenommen ein oder mehrere Elemente.

1 2
static Array util.without(Value arr, ...els);

Aufrufparameter:

  • arr: Wert, gibt das auszuschließende Array an
  • els: ..., gibt ein oder mehrere auszuschließende Elemente an

Rückgabeergebnisse:

  • Array, gibt ausgeschlossene Ergebnisse zurück

difference

Gibt ein Array zurück, das die Elemente im arr-Array enthält, mit Ausnahme der Elemente ohne Array.

1 2
static Array util.difference(Array list, ...arrs);

Aufrufparameter:

  • list: Array, gibt das auszuschließende Array an
  • arrs: ..., gibt ein oder mehrere Arrays an, die ausgeschlossen werden sollen

Rückgabeergebnisse:

  • Array, gibt ausgeschlossene Ergebnisse zurück

each

Durchlaufen Sie alle Elemente in der Liste und geben Sie jedes Element der Reihe nach aus. Wenn der Kontextparameter übergeben wird, wird der Iterator an das Kontextobjekt gebunden. Bei jedem Aufruf des Iterators werden drei Parameter übergeben: (Element, Index, Liste)

1 2 3
static Value util.each(Value list, Function iterator, Value context = undefined);

Aufrufparameter:

  • list: Wert, gibt die Liste oder das Objekt an, das durchlaufen werden soll
  • iterator: Funktion, gibt die für die Durchquerung verwendete Rückruffunktion an
  • context: Wert, gibt das Kontextobjekt an, das beim Aufruf des Iterators gebunden wird

Rückgabeergebnisse:

  • Value, gibt die Liste selbst zurück

map

Jeder Wert in der Liste wird durch eine Transformationsfunktion (Iterator) einem neuen Array zugeordnet. Wenn der Kontextparameter übergeben wird, wird der Iterator an das Kontextobjekt gebunden. Bei jedem Aufruf des Iterators werden drei Parameter übergeben: (Element, Index, Liste)

1 2 3
static Array util.map(Value list, Function iterator, Value context = undefined);

Aufrufparameter:

  • list: Wert, gibt die zu transformierende Liste oder das zu transformierende Objekt an
  • iterator: Funktion, gibt die für die Transformation verwendete Rückruffunktion an
  • context: Wert, gibt das Kontextobjekt an, das beim Aufruf des Iterators gebunden wird

Rückgabeergebnisse:

  • Array, gibt das Ergebnis der Transformation zurück

reduce

Reduzieren Sie die Elemente in der Liste auf einen einzelnen Wert. Wenn der Kontextparameter übergeben wird, wird der Iterator an das Kontextobjekt gebunden. Bei jedem Aufruf des Iterators werden drei Parameter übergeben: (Memo, Element, Index, Liste)

1 2 3 4
static Value util.reduce(Value list, Function iterator, Value memo, Value context = undefined);

Aufrufparameter:

  • list: Wert, gibt die Liste oder das Objekt an, das zusammengefasst werden soll
  • iterator: Funktion, gibt die zur Auflösung verwendete Rückruffunktion an
  • memo: Wert, gibt den Anfangswert der Reduzierung an
  • context: Wert, gibt das Kontextobjekt an, das beim Aufruf des Iterators gebunden wird

Rückgabeergebnisse:

  • Value, gibt das zusammengefasste Ergebnis zurück

parseArgs

Analysieren Sie die Befehlszeilenzeichenfolge und geben Sie die Parameterliste zurück

1
static NArray util.parseArgs(String command);

Aufrufparameter:

  • command: String, gibt die zu analysierende Befehlszeilenzeichenfolge an

Rückgabeergebnisse:

  • NArray, gibt die analysierte Parameterliste zurück

compile

Kompilieren Sie das Skript in Binärcode

1 2 3
static Buffer util.compile(String srcname, String script, Integer mode = 0);

Aufrufparameter:

  • srcname: String, geben Sie den Namen des hinzuzufügenden Skripts an
  • script: String, gibt den zu kompilierenden Skriptcode an
  • mode: Ganzzahl, Kompilierungsmodus, 0: Modul, 1: Skript, 2: Worker, Standard ist 0

Rückgabeergebnisse:

  • Buffer, gibt den kompilierten Binärcode zurück

util.compileSkripte können in v8-intern ausgeführte Datenblöcke (nicht maschinenausführbarer Code) kompiliert werden. Der kompilierte Code kann direkt von run und require geladen und ausgeführt werden, nachdem er als *.jsc gespeichert wurde.

Da der Zielcode nach der Kompilierung nicht in der Lage ist, den Quellcode rückwärts abzurufen, werden Programme, die auf Function.toString basieren, nicht ordnungsgemäß ausgeführt.


sync

Wickeln Sie Rückruf- oder asynchrone Funktionen ein, um sie synchron aufzurufen

1 2
static Function util.sync(Function func, Boolean async_func = false);

Aufrufparameter:

  • func: Funktion, vorausgesetzt, die Funktion muss umschlossen werden
  • async_func: Boolescher Wert, gibt an, dass func als asynchrone Funktion verarbeitet wird. Wenn es falsch ist, wird es automatisch beurteilt.

Rückgabeergebnisse:

  • Function, gibt eine Funktion zurück, die synchron ausgeführt wird

util.syncVerarbeiten Sie die Rückruffunktion oder die asynchrone Funktion in eine Synchronisierungsfunktion, um den Aufruf zu erleichtern.

Das Rückrufbeispiel lautet wie folgt:

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));

Ein asynchrones Beispiel sieht wie folgt aus:

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));

Für Versprechen zurückgebende Funktionen, die nicht als asynchron markiert sind, kann der Synchronisierungsmodus manuell angegeben werden:

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

Wrap-Rückruffunktion für asynchrone Aufrufe

1
static Function util.promisify(Function func);

Aufrufparameter:

  • func: Funktion, vorausgesetzt, die Funktion muss umschlossen werden

Rückgabeergebnisse:

  • Function, gibt eine asynchrone Funktion zurück

util.promisifyVerarbeiten Sie die Rückruffunktion als asynchrone Funktion, um den Aufruf zu erleichtern.

Das Rückrufbeispiel lautet wie folgt:

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

Asynchrone Funktion für Rückrufanruf umschließen

1
static Function util.callbackify(Function func);

Aufrufparameter:

  • func: Funktion, vorausgesetzt, die Funktion muss umschlossen werden

Rückgabeergebnisse:

  • Function, Rückruffunktion zurückgeben

util.callbackifyVerarbeiten Sie die asynchrone Funktion in eine Rückruffunktion, um den Aufruf zu erleichtern.

Ein asynchrones Beispiel sieht wie folgt aus:

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

Fragen Sie die aktuellen Engine- und Komponentenversionsinformationen ab

1
static Object util.buildInfo();

Rückgabeergebnisse:

  • Object, gibt das Komponentenversionsobjekt zurück
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" } }