如何使用braintree返回的节点stream

Braintree提供了一个search交易的API。 Braintree提供了一个例子,但我不知道如何读braintree返回的节点stream。 请看下面的代码片段:

var stream = gateway.transaction.search(function (search) { search.paymentMethodToken().is("h337xg"); }); stream.pipe(someWritableStream); //When I try to print the stream in console, I get the following result: { _readableState: { highWaterMark: 16384, buffer: [], length: 0, pipes: null, pipesCount: 0, flowing: false, ended: false, endEmitted: false, reading: false, calledRead: false, sync: true, needReadable: false, emittedReadable: false, readableListening: false, objectMode: true, defaultEncoding: 'utf8', ranOut: false, awaitDrain: 0, readingMore: false, decoder: null, encoding: null }, readable: true, domain: null, _events: {}, _maxListeners: 10, searchResponse: { stream: [Circular], success: true }, currentItem: 0, currentOffset: 0, bufferedResults: [] } 

从nodejsstream文档

http://nodejs.org/api/stream.html#apicontent

stream是由Node中的各种对象实现的抽象接口。 例如,对HTTP服务器的请求是一个stream,就像stdout一样。 stream>可读,可写,或两者兼有。 所有的stream都是EventEmitter的实例

您应该利用stream的数据事件来捕获stream正在接收的数据。 当从蒸汽接收到完整的数据时,stream的结束事件被调用

 completeData = "" someWritableStream.on("data", function(chunk){ //Do Something With the chunk of data. You might want to concat the stream completeData += chunk; }); someWritableStream.on("end", function(){ //Do Something after the all the chunks are received. console.log(completeData); });