我正在尝试使用现代 Node.js Streams 将 Twitter 的 Streaming API 中的数据通过 pipe() 传输到文件中。我正在使用我编写的名为TweetPipe的库,它利用了 EventStream和Request。
设置:
var TweetPipe = require('tweet-pipe')
, fs = require('fs');
var tp = new TweetPipe(myOAuthCreds);
var file = fs.createWriteStream('./tweets.json');
到 STDOUT 的管道工作并且流保持打开:
tp.stream('statuses/filter', { track: ['bieber'] })
.pipe(tp.stringify())
.pipe(process.stdout);
管道向文件写入一条推文,然后流静默结束:
tp.stream('statuses/filter', { track: ['bieber'] })
.pipe(tp.stringify())
.pipe(file);
谁能告诉我为什么会这样?