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)