node运行时交互可以很好的提升开发体验,例如一个网站要中断更新时,需要保存一些数据,这时就需要命令交互了。
代码如下,复制上去就能运行
// ctrl+c触发
process.on('SIGINT', function(a,b) {
console.log(a,b)
console.log('信号+1');
process.stdout.write('stdout+1')
process.exit(3333333333333) // 不写将不会触发退出
})
// 退出时触发
process.on('exit', function(code) {
console.log('即将退出',code, process.exitCode)
})
// 接收任意键盘输入(回车触发)
function gets(cb){
process.stdin.on('end', function() {
process.stdout.write('end');
});
process.stdin.setEncoding('utf8');
process.stdin.resume();
process.stdin.on('data', function(chunk) {
console.log('start!');
// process.stdin.pause(); // 不注释就只能接收一次
cb(chunk);
});
console.log('键入再回车');
}
gets(function(reuslt){
console.log("["+reuslt+"]");
});
setInterval(() =>{
console.log('333')
}, 3000)