nodejs---Readline、QueryString模块

nodejs---Readline、QueryString模块

Readline

要使用此模块,需要require('readline').Readline程序允许逐行读取一个流内容(例如process.stdin).

需要注意的是你一旦调用了这个模块,你的node程序将不会终止直到你关闭此接口。下面是如何让你的程序正常退出的方法:

常用方法

readline.createInterface(options)

创建一个readline的接口实例. 接受一个Object类型参数,可传递以下几个值:

  • input - 要监听的可读流 (必需).
  • output - 要写入 readline 的可写流 (必须).
  • completer - 用于 Tab 自动补全的可选函数。见下面使用的例子。
  • terminal - 如果希望 input 和 output 流像 TTY 一样对待,那么传递参数 true ,并且经由 ANSI/VT100 转码。 默认情况下检查 isTTY 是否在 output 流上实例化。

rl.pause()

暂停 readline 的输入流 (input stream), 如果有需要稍后还可以恢复。

rl.resume()
恢复 readline 的输入流 (input stream).

rl.close()

关闭接口实例 (Interface instance), 放弃控制输入输出流。"close" 事件会被触发。

rl.write(data, [key])

将 data 写入到 output 流。key 是一个代表键序列的对象;当终端是一个 TTY 时可用。

例一
    var readline=require("readline");
    var rl=readline.createInterface(process.s
    tdin,process.stdout);
    rl.setPrompt('请输入:');
    rl.prompt();
    rl.on
('line',(line)=>{
    var str=line.trim();
    console.log('你输入的是'+str);
    }).on('close',()=>{
    console.log('欢迎帅哥下次再来');
    process.exit();
    });

例二
    var readline=require("readline");
    var rl=readline.createInterface(process.s
    tdin,process
.stdout);
    rl.setPrompt('请输入:');
    rl.prompt();
    rl.on('line',(line)=>{
    var str=line.trim();
    if(str=='0'){
    console.log('欢迎帅哥下次再来');
    process.exit();
    }else{
    console.log('你输入的是'+str);
    rl.prompt();
    }
    });

模块化

module.exports&& require

Query String

这个模块提供一些处理 query string 的工具。它提供下列方法:

常用方法

querystring.stringify(obj, [sep], [eq])

序列化一个对象到一个 query string。可以选择是否覆盖默认的分割符('&')和分配符('=')。

querystring.parse(str, [sep], [eq], [options])

options对象可能包含maxKeys属性(默认为1000),它可以用来限制处理过的键(key)的数量.设为0可以去除键(key)的数量限制.

querystring.stringify({foo:‘bar’,cool:[‘x
ux’, ‘yys’]});
结果如:foo=bar&cool=xux&cool=yys
反序列化
querystring.parse(‘foo@bar$cool@xux$cool@
yys’,’@’,’$’);
结果如: { foo: ‘bar’ , cool: [‘xux’,
‘yys’] }

你可能感兴趣的:(nodejs---Readline、QueryString模块)