rl.prompt(); // 控制台结果显示:>请输入3、rl.write(data[, key])
当使用readline.createInterface()创建实例时,,如果输入流为null或者undefined,则写入数据到输出流。 key是一个表示键序列的字面量对象,如果终端是TTY,则可用。
rl.write('Delete me!');
// Simulate ctrl+u to delete the line written previously
rl.write(null, {ctrl: true, name: 'u'});4、rl.question(query, callback)
预先制定提示内容query,将会在用户输入被应答后,触发执行指定的回掉函数callback。
rl.question('你今年多大了?n', function(prompt) {
console.log('这是你输入的回答结果:' + prompt);
rl.close();
})5、rl.pause()
暂停readline的输入流,可以恢复,rl.resume()、rl.write()、rl.question()和rl.prompt()均可以恢复该输入流。 调用该方法会触发pause事件。
6、rl.resume()
恢复readline的输入流。 调用该方法会触发resume事件。
7、rl.close()
关闭readline创建的实例,不控制输入输出流。 调用该方法会触发close事件。
事件
1、line事件
无论何时,在输入流接收了一个行结束符(n, r, 或者 rn)时触发,即在用户输入后,按了回车或者返回键时触发该事件。可以用来监听用户输入。
rl.on('line', function (line) {
console.log('这是用户输入的内容:' + line);
})2、pause事件
输入流被暂停时触发,即调用了rl.pause(),或者没有暂停输入流,在收到SIGCONT/SIGINT,且readline.Interfacce实例上并没有注册SIGCONT/SIGINT监听器时,也会被触发,并且如果输入流在收到SIGTSIP之前就已经被暂停了,那么该事件也不会触发。
rl.on('pause', function() {
console.log('暂停输入流...')
})3、resume事件
输入流重新启动时被触发,即调用了rl.resume()、或者rl.write()、rl.question()和rl.prompt()。
rl.on('resume', function() {
console.log('恢复输入流...')
})4、close事件
调用rl.close()方法时会触发该事件,或者输入流接收到“结束”事件。以下的任意一种情况都会触发close事件。 一旦close事件被触发,则认为readline.Interaface实例已经终止。 1)、rl.close()方法被调用后,readline.Interaface实例便会放弃输入输出流的控制权。 2)、输入流接收到自己的“end”事件。 3)、输入流接收到-C,发送SIGINT信号,并且在readline.Interfacce实例上并没有注册SIGINT事件的监听器。 4)、输入流接收到-D,发送传输结束信号(EOF,end-of-transmission); 5)、EOT:定界符,即输入单个或多个“>”,并按下回车时。









