Ну, я пытаюсь передать простую инструкцию if в readable stream process.stdin в NodeJS. Но это не работает. Вот код:Вставить условные операторы в читаемые потоки process.stdin
process.stdin.on('readable', function() {
var chunk = process.stdin.read();
if (chunk !== null && chunk == 'foo') {
process.stdout.write('true\n');
} else if (chunk !== null) {
process.stdout.write('false\n');
}
Кто-нибудь знает, что я делаю неправильно здесь? Я также пробовал chunk == 'foo\n'
, но не повезло. Единственный раз, когда он работает, когда я устанавливаю значение chunk на число, например chunk == 10
.
Что означает «это не кажется рабочим»? Что такое вход? Какова фактическая стоимость 'chunk'? (Что вы получаете, когда выполняете 'console.log (chunk)')? –
Когда вы набираете 'foo' на process.stdin, тогда кусок '', поэтому вы можете использовать 'if (chunk.toString() === 'foo \ n')', который дает true ' –
mk12ok