stream.js 491 B

12345678910111213141516171819202122232425
  1. // jshint esnext:true
  2. var fs = require('fs')
  3. var chan = require('..')
  4. var co = require('co')
  5. var split = require('split')
  6. co(function *() {
  7. var ch = chan()
  8. fs.createReadStream(__dirname + '/../README.markdown')
  9. .pipe(split())
  10. .on('data', ch)
  11. .on('error', ch)
  12. .on('end', ch.close)
  13. while (!ch.done()) {
  14. var val = yield ch
  15. if (val !== ch.empty) {
  16. console.log('Stream yielded: ' + String(yield ch))
  17. }
  18. }
  19. console.log('Stream ended')
  20. })()