Читаю книжку по потокам... Там первым же примером есть такой код
process.stdin.setEncoding('utf8')
process.stdin.on('readable', function() {
var input = process.stdin.read();
if (input !== null) {
process.stdout.write(input)
var command = input.trim();
if (command == 'exit') {
process.exit(0);
}
}
})
Автор уверяет что процесс завершится если с клавиатуры набрать
exit.
У меня же все завершается при вводе любой строки. Т.е. происходит ожидание только "первой порции" из потока, обработка и конец программы...
Запускаю так
node tmp.js
Далее набор символов и нажимаю
Enter.
Происходит вывод введенного мной и программа завершается.
Вот меня и заинтересовали такие моменты:
- Почему сначала ожидание события есть, а после ввода его уже нет?
- Может в примере чего-то не хватает?