diff --git a/doc/api/process.markdown b/doc/api/process.markdown index 9d3125ce91c777..dafcd23bddcb56 100644 --- a/doc/api/process.markdown +++ b/doc/api/process.markdown @@ -164,22 +164,34 @@ that writes to them are usually blocking. ## process.stdin -A `Readable Stream` for stdin. The stdin stream is paused by default, so one -must call `process.stdin.resume()` to read from it. +A `Readable Stream` for stdin. Example of opening standard input and listening for both events: - process.stdin.resume(); process.stdin.setEncoding('utf8'); - process.stdin.on('data', function(chunk) { - process.stdout.write('data: ' + chunk); + process.stdin.on('readable', function(chunk) { + var chunk = process.stdin.read(); + if (chunk !== null) { + process.stdout.write('data: ' + chunk); + } }); process.stdin.on('end', function() { process.stdout.write('end'); }); +As a Stream, `process.stdin` can also be used in "old" mode that is compatible +with scripts written for node prior v0.10. +For more information see +[Stream compatibility](stream.html#stream_compatibility_with_older_node_versions). + +In "old" Streams mode the stdin stream is paused by default, so one +must call `process.stdin.resume()` to read from it. Note also that calling +`process.stdin.resume()` itself would switch stream to "old" mode. + +If you are starting a new project you should prefer a more recent "new" Streams +mode over "old" one. ## process.argv