Почему это читаемое событие потока, «данные», вывод ведет себя так? - PullRequest
0 голосов
/ 15 июня 2019

Почему вывод этого фрагмента кода ведет себя таким образом? Я ожидал, что будет напечатана 1 «истинная» строка и 2 «ложные» строки, вместо этого я получил только одну «ложную»?

Спасибо за ваше время.

process.stdin.setEncoding('utf-8')
process.stdin.on('data', (input) => console.log(input==="1"));

/ * STDIN: 1 2 3 * /

/ * STDOUT: ложный * /

1 Ответ

0 голосов
/ 15 июня 2019

Потому что input это "1 2 3\n".data содержит столько информации, сколько доступно для чтения.(В случае стандартного консольного ввода-вывода это часто будет строка.) Нет ничего в потоке, который пытается токенизировать его, разбивая его на пробелы или что-то в этом роде.

...