29 lines
		
	
	
		
			629 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
		
			629 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
var from = require('from')
 | 
						|
var through = require('../')
 | 
						|
 | 
						|
var tape = require('tape')
 | 
						|
 | 
						|
tape('simple async example', function (t) {
 | 
						|
 
 | 
						|
  var n = 0, expected = [1,2,3,4,5], actual = []
 | 
						|
  from(expected)
 | 
						|
  .pipe(through(function(data) {
 | 
						|
    this.pause()
 | 
						|
    n ++
 | 
						|
    setTimeout(function(){
 | 
						|
      console.log('pushing data', data)
 | 
						|
      this.push(data)
 | 
						|
      this.resume()
 | 
						|
    }.bind(this), 300)
 | 
						|
  })).pipe(through(function(data) {
 | 
						|
    console.log('pushing data second time', data);
 | 
						|
    this.push(data)
 | 
						|
  })).on('data', function (d) {
 | 
						|
    actual.push(d)
 | 
						|
  }).on('end', function() {
 | 
						|
    t.deepEqual(actual, expected)
 | 
						|
    t.end()
 | 
						|
  })
 | 
						|
 | 
						|
})
 |