У меня есть node.js script/server, который считывает некоторые данные из stdin при его запуске. Однако иногда нет данных, которые нужно передать. Это неприятно, потому что похоже, что в этом случае не вызывают события data
и end
. Как я могу определить, когда это происходит в коде node.js?
Я бы не хотел добавлять специальные символы "конец" в конце ввода, чтобы не навредить клиенту. Соответствующий код ниже:
var newHTML = '';
var gfm = spawn(__dirname + '/node_modules/docter/bin/github-flavored-markdown.rb');
process.stdin.on('data', function(chunk){
gfm.stdin.write(chunk);
});
process.stdin.on('end', function(){
gfm.stdin.end();
});
gfm.stdout.on('data', function(data) {
newHTML += data;
});
gfm.on('exit',function(ecode){
socket.emit('newContent', newHTML);
});
process.stdin.resume();