Module module de base

Module global

Objets globaux, objets de base auxquels tous les scripts peuvent accéder

Objet

Buffer

Objet tampon de données binaire, utilisé pour le traitement des données de io lecture et écriture, voir Objet Buffer .

1
Buffer global.Buffer;

console

Objet d'accès à la console

1
console global.console;

process

Objet de processus

1
process global.process;

Fonction statique

run

Exécuter un script

1 2
static global.run(String fname, Array argv = []);

Paramètres d'appel:

  • fname : String, spécifiez le chemin du script à exécuter
  • argv : Array, spécifiez le paramètre à exécuter, ce paramètre peut être obtenu en utilisant argv dans le script

require

Chargez un module et renvoyez l'objet module, voir module @ref pour plus d'informations

1
static Value global.require(String id);

Paramètres d'appel:

  • id : String, spécifiez le nom du module à charger

Résultat de retour:

  • Value , renvoie l'objet d'exportation du module chargé

require peut être utilisé pour charger des modules de base et des modules de fichiers.

Le module de base est le module initialisé lors de la création du sandbox. Il vous suffit de passer l'ID correspondant lors du référencement, tel que require (" net ").

Le module de fichiers est un module défini par l'utilisateur, et un chemin relatif commençant par ./ ​​ou ../ doit être passé lors du référencement. Le module de fichiers prend en charge les fichiers .js, .jsc et json .

Le module de fichiers prend également en charge le format package.json. Lorsque le module est une structure de répertoires, require interrogera d'abord le fichier principal dans package.json, et s'il ne le trouve pas, il essaiera de charger index.js, index.jsc ou index.json sous le chemin.

Si le chemin de référence ne commence pas par ./ ​​ou ../, et n'est pas un module de base, exigez des recherches de node_modules dans le chemin où se trouve le module courant, et récursivement dans le répertoire parent.

Le processus de base est le suivant:

%0 start start is_native is internal module? start->is_native resolve path.resolve has_file module exists? resolve->has_file search recursive lookup node_modules from the current path search->has_file load load end end load->end is_native->end Yes is_mod is module? is_native->is_mod No is_mod->search Yes is_abs is absolute? is_mod->is_abs No is_abs->resolve No is_abs->has_file Yes has_file->load Yes has_ext module.js exists? has_file->has_ext No has_ext->load Yes has_package /package.json exists? has_ext->has_package No has_main main exists? has_package->has_main Yes has_index index.js exists? has_package->has_index No has_main->load Yes has_main->has_index No has_index->load Yes has_index->end No

setTimeout

Appeler la fonction après l'heure spécifiée

1 2 3
static Timer global.setTimeout(Function callback, Number timeout = 1, ...args);

Paramètres d'appel:

  • callback : Fonction, spécifiez la fonction de rappel
  • timeout : nombre, spécifie le temps de retard, en millisecondes. S'il dépasse 2 ^ 31, exécutez-le immédiatement.
  • args : ..., paramètres supplémentaires, transmis dans le callback spécifié, facultatif.

Résultat de retour:

  • Timer , renvoie l'objet timer

clearTimeout

Effacer le minuteur spécifié

1
static global.clearTimeout(Value t);

Paramètres d'appel:

  • t : Valeur, spécifiez la minuterie à effacer

setInterval

Appelez la fonction après chaque intervalle de temps spécifié

1 2 3
static Timer global.setInterval(Function callback, Number timeout, ...args);

Paramètres d'appel:

  • callback : Fonction, spécifiez la fonction de rappel
  • timeout : nombre, le temps de l'intervalle spécifié, en millisecondes. S'il dépasse 2 ^ 31, exécutez-le immédiatement.
  • args : ..., paramètres supplémentaires, transmis dans le callback spécifié, facultatif.

Résultat de retour:

  • Timer , renvoie l'objet timer

clearInterval

Effacer le minuteur spécifié

1
static global.clearInterval(Value t);

Paramètres d'appel:

  • t : Valeur, spécifiez la minuterie à effacer

setHrInterval

La fonction est appelée après chaque intervalle de temps spécifié. Il s'agit d'un minuteur de haute précision qui interrompra activement le minuteur d'exécution du script JavaScript en cours d'exécution.

1 2 3
static Timer global.setHrInterval(Function callback, Number timeout, ...args);

Paramètres d'appel:

  • callback : Fonction, spécifiez la fonction de rappel
  • timeout : nombre, le temps de l'intervalle spécifié, en millisecondes. S'il dépasse 2 ^ 31, exécutez-le immédiatement.
  • args : ..., paramètres supplémentaires, transmis dans le callback spécifié, facultatif.

Résultat de retour:

  • Timer , renvoie l'objet timer

Étant donné que la minuterie de setHrInterval interrompra le code en cours d'exécution pour exécuter le rappel, ne modifiez pas les données qui peuvent affecter d'autres modules dans la fonction de rappel, ou appelez une fonction api marquée comme asynchrone dans le rappel, sinon cela produira des résultats imprévisibles. Par exemple:

1 2 3 4 5 6 7 8 9 10
var timers = require('timers'); var cnt = 0; timers.setHrInterval(() => { cnt++; }, 100); while (cnt < 10); console.error("===============================> done");

Dans ce code, la boucle sur la ligne 8 ne se termine pas en raison du changement de cnt, car JavaScript déterminera que cnt ne sera pas changé pendant ce cycle lors de l'optimisation du code.


clearHrInterval

Effacer le minuteur spécifié

1
static global.clearHrInterval(Value t);

Paramètres d'appel:

  • t : Valeur, spécifiez la minuterie à effacer

setImmediate

Exécutez la fonction de rappel immédiatement dans le prochain temps libre

1 2
static Timer global.setImmediate(Function callback, ...args);

Paramètres d'appel:

  • callback : Fonction, spécifiez la fonction de rappel
  • args : ..., paramètres supplémentaires, transmis dans le callback spécifié, facultatif.

Résultat de retour:

  • Timer , renvoie l'objet timer

clearImmediate

Effacer le minuteur spécifié

1
static global.clearImmediate(Value t);

Paramètres d'appel:

  • t : Valeur, spécifiez la minuterie à effacer

GC

Collecte des ordures obligatoire

1
static global.GC();

repl

Entrez en mode interactif, vous pouvez exécuter des commandes et des codes internes de manière interactive, qui ne peuvent être référencés qu'au démarrage de js

1
static global.repl(Array cmds = []);

Paramètres d'appel:

  • cmds : Array, commandes supplémentaires

Le format du paramètre cmd est le suivant:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
[{ cmd: ".test", help: "this is a test", exec: function(argv) { console.log(argv); } }, { cmd: ".test1", help: "this is an other test", exec: function(argv) { console.log(argv); } } ]

Entrez en mode interactif, vous pouvez exécuter des commandes et des codes internes de manière interactive, qui ne peuvent être référencés qu'au démarrage de js

1 2
static global.repl(Stream out, Array cmds = []);

Paramètres d'appel:

  • out : Stream , objet de flux d'entrée et de sortie, généralement une connexion réseau
  • cmds : Array, commandes supplémentaires

Un seul répl Stream est autorisé à la fois. Lorsqu'un nouveau répl Stream est créé, le répl précédent est fermé.

Le format du paramètre cmd est le suivant:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
[{ cmd: ".test", help: "this is a test", exec: function(argv) { console.log(argv); } }, { cmd: ".test1", help: "this is an other test", exec: function(argv) { console.log(argv); } } ]

Propriétés statiques

Master

Worker , objet hôte Worker , uniquement valide dans le script d'entrée Worker

1
static readonly Worker global.Master;

global

Objet, objet global

1
static readonly Object new global;

argv

Array, récupère les paramètres d'exécution du script actuel, démarre js pour obtenir les paramètres de démarrage du processus, et le script exécuté par run obtient les paramètres passés

1
static readonly Array global.argv;

__filename

Chaîne, nom du fichier de script actuel

1
static readonly String global.__filename;

__dirname

String, le répertoire où se trouve le script actuel

1
static readonly String global.__dirname;