Guest User

Untitled

a guest
Oct 19th, 2017
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.88 KB | None | 0 0
  1. const { Readable, Writable, Transform } = require('stream');
  2.  
  3. let inStream = Readable();
  4. inStream._read = () => inStream.push('test');
  5.  
  6. let asyncTxStream = Transform({objectMode: true});
  7. asyncTxStream._transform = (buff, enc, next) => {
  8. setTimeout(() => {
  9. console.log(buff.toString());
  10. asyncTxStream.push(buff);
  11. next();
  12. }, 20)
  13. }
  14.  
  15. var txStream = Transform({objectMode: true});
  16. txStream._transform = (buff, enc, next) => {
  17. console.log(buff.toString());
  18. txStream.push(buff);
  19. next();
  20. }
  21.  
  22. let outStream = Writable({objectMode: true});
  23. outStream._write = (chunk, enc, next) => next();
  24.  
  25.  
  26. let stream = Readable({objectMode: true});
  27. stream._read = () => stream.push(inStream.read());
  28.  
  29.  
  30. // broken
  31. stream
  32. .pipe(asyncTxStream)
  33. .pipe(outStream);
  34.  
  35. // works
  36. // stream
  37. // .pipe(txStream)
  38. // .pipe(outStream);
  39.  
  40. // works
  41. // inStream
  42. // .pipe(asyncTxStream)
  43. // .pipe(outStream);
Add Comment
Please, Sign In to add comment