Skip to content

Instantly share code, notes, and snippets.

@PaulMougel
Created April 1, 2015 08:20
Show Gist options
  • Save PaulMougel/c70c5e0e616955ab22f2 to your computer and use it in GitHub Desktop.
Save PaulMougel/c70c5e0e616955ab22f2 to your computer and use it in GitHub Desktop.
javascript bind stream example
// $ dd if=/dev/random of=bigfile.txt bs=4k count=1k
var Counter = function () {
this.count = 0;
this.tick = function () {
this.count++;
console.log(this.count);
}
};
var fs = require('fs');
var input = fs.createReadStream('./bigfile.txt');
var output = fs.createWriteStream('./bigfile-copy.txt');
var counter = new Counter();
// input.on('data', counter.tick.bind(counter));
input.on('data', counter.tick);
input.pipe(output);
$ dd if=/dev/random of=bigfile.txt bs=4k count=1k
$ node index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
$ dd if=/dev/random of=bigfile.txt bs=4k count=1k
$ node index.js
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment