Saya mendapatkan kode ini dari pertanyaan SO yang berbeda, tetapi node mengeluh untuk menggunakan process.stdin.setRawMode daripada tty, jadi saya mengubahnya.
Sebelum:
var tty = require("tty");
process.openStdin().on("keypress", function(chunk, key) {
if(key && key.name === "c" && key.ctrl) {
console.log("bye bye");
process.exit();
}
});
tty.setRawMode(true);
Setelah:
process.stdin.setRawMode(true);
process.stdin.on("keypress", function(chunk, key) {
if(key && key.name === "c" && key.ctrl) {
console.log("bye bye");
process.exit();
}
});
Bagaimanapun, itu hanya membuat proses node yang benar-benar tidak responsif yang tidak melakukan apa-apa, dengan yang pertama mengeluh tentang tty
, kemudian membuat kesalahan, dan yang kedua hanya tidak melakukan apa-apa dan menonaktifkan penangan asli CTRL+ Node C, jadi itu bahkan tidak keluar dari node ketika saya tekan itu. Bagaimana saya bisa berhasil menangani Ctrl+ Cdi Windows ?