Maison > interface Web > js tutoriel > Node.js utilise le module readline pour implémenter les entrées et les sorties

Node.js utilise le module readline pour implémenter les entrées et les sorties

高洛峰
Libérer: 2016-12-26 09:51:50
original
1188 Les gens l'ont consulté

Qu'est-ce que Readline

Readline est un module packagé dans Node.js qui implémente une entrée et une sortie standard. Grâce à ce module, nous pouvons lire le flux de données ligne par ligne. Les modules peuvent être référencés à l'aide de require("readline").

Comment utiliser Readline

Du point de vue de l'utilisation, pour apprendre Readline, nous devons apprendre ses trois parties :

Créer une instance Readline

Apprenez les méthodes d'interface à l'intérieur

Apprenez à surveiller et à gérer les événements Readline

Apprenons ces trois parties à travers des exemples.

Exemple 1 : Je m'appelle Xiao Ming

Le code est le suivant :

/**
 * Created by Administrator on 2015/9/10.
 */
// 引入readline模块
var readline = require('readline');
 
//创建readline接口实例
var rl = readline.createInterface({ 
 input:process.stdin,
 output:process.stdout
});
 
// question方法
rl.question("你叫什么?",function(answer){ 
 console.log("名字是:"+answer);
 // 不加close,则不会结束
 rl.close();
});
 
// close事件监听
rl.on("close", function(){ 
 // 结束程序
 process.exit(0);
});
Copier après la connexion

L'exemple ci-dessus utilise les trois parties que nous devons apprendre. Tout d'abord, utiliser createInterface crée une instance d'interface, puis utilise la méthode question pour demander le nom et enfin écoute l'événement close de readline, car le nom de la méthode et le nom de la surveillance des événements sont relativement intuitifs et leurs fonctions peuvent également être compris d'un coup d'œil. Je ne ferai que noter trois points :

Dans createInterface, nous devons transmettre l'entrée et la sortie standard en tant que flux de données d'entrée et de sortie

Dans la fonction de rappel de la méthode question, nous pouvons obtenir la saisie de l'utilisateur et la traiter en même temps, nous effectuons une opération de fermeture pour terminer le programme, sinon le programme ne se terminera pas

<🎜. >Dans la surveillance de l'événement de fermeture, nous avons exécuté process.exit(0) pour quitter le programme, car le module readline ne se terminera pas tant qu'il commencera à obtenir l'entrée de l'utilisateur. Cette méthode directe doit être utilisée pour terminer. le programme


Exemple 2 : Entrée et sortie

/**
 * Created by Administrator on 2015/9/10.
 */
// 引入readline模块
var readline = require(&#39;readline&#39;);
 
var rl = readline.createInterface({ 
 input: process.stdin,
 output: process.stdout
});
 
rl.on(&#39;line&#39;, function(line){ 
 switch(line.trim()) {
  case &#39;copy&#39;:
   console.log("复制");
   break;
  case &#39;hello&#39;:
   rl.write("Write");
   console.log(&#39;world!&#39;);
   break;
  case &#39;close&#39;:
   rl.close();
   break;
  default:
   console.log(&#39;没有找到命令!&#39;);
   break;
 }
});
rl.on(&#39;close&#39;, function() { 
 console.log(&#39;bye bye&#39;);
 process.exit(0);
});
Copier après la connexion
événement 'line', cet événement est déclenché une fois que l'utilisateur a fini de taper une ligne et appuie sur Entrée. les données saisies par l'utilisateur via la fonction de rappel. Les entrées de l'utilisateur peuvent être traitées dans cette méthode. Données

Exemple 3 : entrée et sortie de type ligne de commande

var readline = require(&#39;readline&#39;); 
var rl = readline.createInterface(process.stdin, process.stdout);
 
rl.setPrompt(&#39;Test> &#39;); 
rl.prompt();
 
rl.on(&#39;line&#39;, function(line) { 
 switch(line.trim()) {
  case &#39;copy&#39;:
   console.log("复制");
   break;
  case &#39;hello&#39;:
   console.log(&#39;world!&#39;);
   break;
  case &#39;close&#39;:
   rl.close();
   break;
  default:
   console.log(&#39;没有找到命令!&#39;);
   break;
 }
 rl.prompt();
});
 
rl.on(&#39;close&#39;, function() { 
 console.log(&#39;bye bye!&#39;);
 process.exit(0);
});
Copier après la connexion
La capture d'écran en cours d'exécution est. comme suit :

Node.js utilise le module readline pour implémenter les entrées et les sorties

Apparaît dans cet exemple Deux nouvelles méthodes

la méthode setPromat(promat) consiste à définir une invite pour chaque ligne, tout comme la commande window line's >. Ce que nous définissons ici est Test>


promat() peut être considérée comme la méthode la plus importante, car elle incarne la fonction principale de Readline, la lecture des données en unités comportementales. attend que l'utilisateur saisisse des données


Ici, l'événement 'line' est à nouveau surveillé, car la méthode promat ne lira les données qu'une seule fois, donc la méthode promat est appelée à nouveau dans cette méthode, afin que les entrées de l'utilisateur puissent continuer à être lues, obtenant ainsi un effet de ligne de commande


Annexe


Voici seulement trois exemples relativement simples pour illustrer l'utilisation de Readline. Si vous souhaitez en savoir plus sur l'utilisation de Readline et sur d'autres méthodes et événements, vous pouvez accéder à l'API officielle

Résumé

Ce qui précède représente l'intégralité du contenu de cet article, j'espère. le contenu de cet article peut apporter une aide aux études ou au travail de chacun. Si vous avez des questions, vous pouvez laisser des messages pour communiquer.

Pour plus d'articles liés à Node.js utilisant le module readline pour implémenter les entrées et les sorties, veuillez faire attention au site Web PHP chinois !

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal