美文网首页
nodejs---Readline、QueryString模块

nodejs---Readline、QueryString模块

作者: 一直玩编程 | 来源:发表于2016-08-11 09:49 被阅读98次

    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模块

          本文链接:https://www.haomeiwen.com/subject/eaojsttx.html